Skip to content

Commit

Permalink
change regression test use strong password
Browse files Browse the repository at this point in the history
  • Loading branch information
shenshoucheng committed May 30, 2024
1 parent 8cc8e5f commit e3590df
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 42 deletions.
80 changes: 40 additions & 40 deletions regression-test/suites/account_p0/test_alter_user.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -20,51 +20,51 @@ suite("test_alter_user", "account") {
sql """drop user if exists test_auth_user2"""
sql """drop user if exists test_auth_user3"""
sql """drop user if exists test_auth_user4"""

// 2. test password history
sql """set global password_history=0""" // disabled
sql """create user test_auth_user2 identified by '12345' password_history default"""
sql """create user test_auth_user2 identified by 'qwe678^&*' password_history default"""
sql """grant all on *.* to test_auth_user2"""
sql """alter user test_auth_user2 identified by '12345'"""
sql """set password for 'test_auth_user2' = password('12345')"""
sql """alter user test_auth_user2 identified by 'qwe678^&*'"""
sql """set password for 'test_auth_user2' = password('qwe678^&*')"""

sql """set global password_history=1""" // set to 1
test {
sql """alter user test_auth_user2 identified by '12345'"""
sql """alter user test_auth_user2 identified by 'qwe678^&*'"""
exception "Cannot use these credentials for 'default_cluster:test_auth_user2'@'%' because they contradict the password history policy"
}

sql """alter user test_auth_user2 password_history 0"""
sql """set password for 'test_auth_user2' = password('12345')"""
def result1 = connect(user = 'test_auth_user2', password = '12345', url = context.config.jdbcUrl) {
sql """set password for 'test_auth_user2' = password('qwe678^&*')"""

def result1 = connect(user = 'test_auth_user2', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}

sql """alter user test_auth_user2 password_history 2"""
sql """alter user test_auth_user2 identified by 'abc12345'"""
sql """alter user test_auth_user2 identified by 'abc123456'"""
sql """alter user test_auth_user2 identified by 'abc12345***'"""
sql """alter user test_auth_user2 identified by 'abc123456***'"""
test {
sql """alter user test_auth_user2 identified by 'abc12345'"""
sql """alter user test_auth_user2 identified by 'abc12345***'"""
exception "Cannot use these credentials for 'default_cluster:test_auth_user2'@'%' because they contradict the password history policy"
}
result1 = connect(user = 'test_auth_user2', password = 'abc123456', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user2', password = 'abc123456***', url = context.config.jdbcUrl) {
sql 'select 1'
}
sql """set global password_history=0""" // set to disabled

// 3. test FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME
sql """create user test_auth_user3 identified by '12345' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1 DAY"""
sql """create user test_auth_user3 identified by 'qwe678^&*' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1 DAY"""
sql """grant all on *.* to test_auth_user3"""

// login success in multi times
result1 = connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
result1 = connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
result1 = connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
// login failed in 2 times
Expand All @@ -73,24 +73,24 @@ suite("test_alter_user", "account") {
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3"), e.getMessage())
}
}
try {
connect(user = 'test_auth_user3', password = 'wrong', url = context.config.jdbcUrl) {}
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3"), e.getMessage())
}
}
// login with correct password but also failed
try {
connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {}
connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {}
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3'@'%'. Account is blocked for 86400 second(s) (86400 second(s) remaining) due to 2 consecutive failed logins."), e.getMessage())
}
}

// unlock user and login again
sql """alter user test_auth_user3 account_unlock"""
result1 = connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}

Expand All @@ -102,23 +102,23 @@ suite("test_alter_user", "account") {
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3"), e.getMessage())
}
}
try {
connect(user = 'test_auth_user3', password = 'wrong', url = context.config.jdbcUrl) {}
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3"), e.getMessage())
}
}
// login with correct password but also failed
try {
connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {}
connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {}
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Access denied for user 'default_cluster:test_auth_user3'@'%'. Account is blocked for 5 second(s) (5 second(s) remaining) due to 2 consecutive failed logins."), e.getMessage())
}
}
// sleep 5 second to unlock account
sleep(5000)
result1 = connect(user = 'test_auth_user3', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user3', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}

Expand All @@ -140,32 +140,32 @@ suite("test_alter_user", "account") {
sql """set global validate_password_policy=NONE"""

// 5. test expire
sql """create user test_auth_user4 identified by '12345' PASSWORD_EXPIRE INTERVAL 5 SECOND"""
sql """create user test_auth_user4 identified by 'qwe678^&*' PASSWORD_EXPIRE INTERVAL 5 SECOND"""
sql """grant all on *.* to test_auth_user4"""
result1 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
sleep(6000)
try {
connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {}
connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {}
assertTrue(false. "should not be able to login")
} catch (Exception e) {
assertTrue(e.getMessage().contains("Your password has expired. To log in you must change it using a client that supports expired passwords."), e.getMessage())
}

// 6. drop user and create again, new user with same name can login
sql """drop user test_auth_user4"""
sql """create user test_auth_user4 identified by '12345'"""
sql """create user test_auth_user4 identified by 'qwe678^&*'"""
sql """grant all on *.* to test_auth_user4"""
result1 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}

// 7. test after expire, reset password
sql """drop user test_auth_user4"""
sql """create user test_auth_user4 identified by '12345' PASSWORD_EXPIRE INTERVAL 5 SECOND"""
sql """create user test_auth_user4 identified by 'qwe678^&*' PASSWORD_EXPIRE INTERVAL 5 SECOND"""
sql """grant all on *.* to test_auth_user4"""
result1 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
sleep(6000)
Expand All @@ -183,21 +183,21 @@ suite("test_alter_user", "account") {

// 8. test password not expiration
sql """drop user test_auth_user4"""
sql """create user test_auth_user4 identified by '12345'"""
sql """create user test_auth_user4 identified by 'qwe678^&*'"""
sql """grant all on *.* to test_auth_user4"""
result1 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}
sleep(1000)
result2 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result2 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
}

// 9. test user default database privileges
sql """drop user if exists test_auth_user4"""
sql """create user test_auth_user4 identified by '12345'"""
sql """create user test_auth_user4 identified by 'qwe678^&*'"""
sql """grant SELECT_PRIV on regression_test.* to test_auth_user4"""
result1 = connect(user = 'test_auth_user4', password = '12345', url = context.config.jdbcUrl) {
result1 = connect(user = 'test_auth_user4', password = 'qwe678^&*', url = context.config.jdbcUrl) {
sql 'select 1'
sql 'use information_schema'
sql 'use mysql'
Expand Down
2 changes: 1 addition & 1 deletion regression-test/suites/javaudf_p0/test_javaudf_auth.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ suite("test_javaudf_auth") {
def url=tokens[0] + "//" + tokens[2] + "/" + "information_schema" + "?"

def user = 'udf_auth_user'
def pwd = '123456'
def pwd = 'qwe678^&*'
def dbName = 'udf_auth_db'

try_sql("DROP USER ${user}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -895,7 +895,7 @@ suite("test_stream_load", "p0") {
PROPERTIES ("replication_allocation" = "tag.location.default: 1");
"""

sql """create USER common_user@'%' IDENTIFIED BY '123456'"""
sql """create USER common_user@'%' IDENTIFIED BY 'qwe678^&*'"""
sql """GRANT LOAD_PRIV ON *.* TO 'common_user'@'%';"""

streamLoad {
Expand Down

0 comments on commit e3590df

Please sign in to comment.