1+ import pytest
2+ from mindsdb_sql_parser import parse_sql
3+ from mindsdb_sql_parser .ast import Identifier
4+ from mindsdb_sql_parser .ast .mindsdb import (
5+ CreateSkill ,
6+ UpdateSkill ,
7+ CreateAgent ,
8+ UpdateAgent ,
9+ CreateChatBot ,
10+ UpdateChatBot ,
11+ )
12+
13+ class TestParameterCasing :
14+ def test_create_skill_case_handling (self ):
15+ sql = """
16+ CREATE SKILL my_skill
17+ USING
18+ TyPe = 'knowledge_base',
19+ SoUrCe = 'my_knowledge_base'
20+ """
21+ ast = parse_sql (sql )
22+ expected_ast = CreateSkill (
23+ name = Identifier ('my_skill' ),
24+ type = 'knowledge_base' ,
25+ params = {'source' : 'my_knowledge_base' }
26+ )
27+ assert ast .to_tree () == expected_ast .to_tree ()
28+
29+ def test_update_skill_case_handling (self ):
30+ sql = """
31+ UPDATE SKILL my_skill
32+ SET
33+ SoUrCe = 'new_source'
34+ """
35+ ast = parse_sql (sql )
36+ expected_ast = UpdateSkill (
37+ name = Identifier ('my_skill' ),
38+ updated_params = {'source' : 'new_source' }
39+ )
40+ assert ast .to_tree () == expected_ast .to_tree ()
41+
42+ def test_create_agent_case_handling (self ):
43+ sql = """
44+ CREATE AGENT my_agent
45+ USING
46+ MoDeL = 'my_model',
47+ SkIlLs = ['skill1', 'skill2']
48+ """
49+ ast = parse_sql (sql )
50+ expected_ast = CreateAgent (
51+ name = Identifier ('my_agent' ),
52+ model = 'my_model' ,
53+ params = {'skills' : ['skill1' , 'skill2' ]}
54+ )
55+ assert ast .to_tree () == expected_ast .to_tree ()
56+
57+ def test_update_agent_case_handling (self ):
58+ sql = """
59+ UPDATE AGENT my_agent
60+ SET
61+ MoDeL = 'new_model',
62+ SkIlLs = ['new_skill1', 'new_skill2']
63+ """
64+ ast = parse_sql (sql )
65+ expected_ast = UpdateAgent (
66+ name = Identifier ('my_agent' ),
67+ updated_params = {'model' : 'new_model' , 'skills' : ['new_skill1' , 'new_skill2' ]}
68+ )
69+ assert ast .to_tree () == expected_ast .to_tree ()
70+
71+ def test_create_chatbot_case_handling (self ):
72+ sql = """
73+ CREATE CHATBOT my_chatbot
74+ USING
75+ DaTaBaSe = 'my_db',
76+ MoDeL = 'my_model',
77+ AgEnT = 'my_agent'
78+ """
79+ ast = parse_sql (sql )
80+ expected_ast = CreateChatBot (
81+ name = Identifier ('my_chatbot' ),
82+ database = Identifier ('my_db' ),
83+ model = Identifier ('my_model' ),
84+ agent = Identifier ('my_agent' )
85+ )
86+ assert ast .to_tree () == expected_ast .to_tree ()
87+
88+ def test_update_chatbot_case_handling (self ):
89+ sql = """
90+ UPDATE CHATBOT my_chatbot
91+ SET
92+ MoDeL = 'new_model'
93+ """
94+ ast = parse_sql (sql )
95+ expected_ast = UpdateChatBot (
96+ name = Identifier ('my_chatbot' ),
97+ updated_params = {'model' : 'new_model' }
98+ )
99+ assert ast .to_tree () == expected_ast .to_tree ()
0 commit comments