22
33
44import org .testng .Assert ;
5+ import org .testng .annotations .DataProvider ;
56import org .testng .annotations .Test ;
67
78import static org .testng .Assert .assertEquals ;
@@ -210,4 +211,34 @@ public void testStmtWithFunction() {
210211 ParsedPreparedStatement stmt = parser .parsePreparedStatement (sql );
211212 Assert .assertEquals (stmt .getArgCount (), 4 );
212213 }
214+
215+ @ Test (dataProvider = "testCreateStmtDP" )
216+ public void testCreateStatement (String sql ) {
217+ SqlParser parser = new SqlParser ();
218+ ParsedPreparedStatement stmt = parser .parsePreparedStatement (sql );
219+ Assert .assertFalse (stmt .isHasErrors ());
220+ }
221+
222+ @ DataProvider
223+ public static Object [][] testCreateStmtDP () {
224+ return new Object [][] {
225+ {"CREATE USER 'user01' IDENTIFIED WITH no_password" },
226+ {"CREATE USER 'user01' IDENTIFIED WITH plaintext_password BY 'qwerty'" },
227+ {"CREATE USER 'user01' IDENTIFIED WITH sha256_password BY 'qwerty' or IDENTIFIED BY 'password'" },
228+ {"CREATE USER 'user01' IDENTIFIED WITH sha256_hash BY 'hash' SALT 'salt'" },
229+ {"CREATE USER 'user01' IDENTIFIED WITH sha256_hash BY 'hash'" },
230+ {"CREATE USER 'user01' IDENTIFIED WITH double_sha1_password BY 'qwerty'" },
231+ {"CREATE USER 'user01' IDENTIFIED WITH double_sha1_hash BY 'hash'" },
232+ {"CREATE USER 'user01' IDENTIFIED WITH bcrypt_password BY 'qwerty'" },
233+ {"CREATE USER 'user01' IDENTIFIED WITH bcrypt_hash BY 'hash'" },
234+ {"CREATE USER 'user01' IDENTIFIED WITH ldap SERVER 'server_name'" },
235+ {"CREATE USER 'user01' IDENTIFIED WITH kerberos" },
236+ {"CREATE USER 'user01' IDENTIFIED WITH kerberos REALM 'realm'" },
237+ {"CREATE USER 'user01' IDENTIFIED WITH ssl_certificate CN 'mysite.com:user'" },
238+ {"CREATE USER 'user01' IDENTIFIED WITH ssh_key BY KEY 'public_key' TYPE 'ssh-rsa', KEY 'another_public_key' TYPE 'ssh-ed25519'" },
239+ {"CREATE USER 'user01' IDENTIFIED WITH http SERVER 'http_server' SCHEME 'basic'" },
240+ {"CREATE USER 'user01' IDENTIFIED WITH http SERVER 'http_server'" },
241+ {"CREATE USER 'user01' IDENTIFIED BY 'qwerty'" },
242+ };
243+ }
213244}
0 commit comments