|
31 | 31 |
|
32 | 32 |
|
33 | 33 | class TestMQ(TestCase): |
34 | | - def test_user_db_request(self): |
35 | | - valid_model = UserDbRequest(operation="create", username="test_user", |
36 | | - message_id="test") |
37 | | - self.assertIsInstance(valid_model, UserDbRequest) |
| 34 | + def test_create_user_db_request(self): |
| 35 | + from neon_data_models.models.api.mq import CreateUserRequest |
| 36 | + |
| 37 | + # Test create user valid |
| 38 | + valid_kwargs = {"message_id": "test_id", "operation": "create", |
| 39 | + "user": {"username": "test_user"}} |
| 40 | + create_request = CreateUserRequest(**valid_kwargs) |
| 41 | + self.assertIsInstance(create_request, CreateUserRequest) |
| 42 | + generic_request = UserDbRequest(**valid_kwargs) |
| 43 | + self.assertIsInstance(generic_request, CreateUserRequest) |
| 44 | + self.assertEqual(generic_request.user.username, |
| 45 | + create_request.user.username) |
| 46 | + |
| 47 | + # Test invalid |
38 | 48 | with self.assertRaises(ValidationError): |
39 | | - UserDbRequest(operation="get", username="test", message_id="test") |
| 49 | + UserDbRequest(operation="create", username="test", |
| 50 | + message_id="test0") |
| 51 | + |
| 52 | + def test_read_user_db_request(self): |
| 53 | + from neon_data_models.models.api.mq import ReadUserRequest |
| 54 | + |
| 55 | + # Test read user valid |
| 56 | + valid_kwargs = {"message_id": "test_id", "operation": "read", |
| 57 | + "user_spec": "test_user"} |
| 58 | + read_request = ReadUserRequest(**valid_kwargs) |
| 59 | + self.assertIsInstance(read_request, ReadUserRequest) |
| 60 | + generic_request = UserDbRequest(**valid_kwargs) |
| 61 | + self.assertIsInstance(generic_request, ReadUserRequest) |
| 62 | + self.assertEqual(generic_request.user_spec, |
| 63 | + read_request.user_spec) |
| 64 | + |
| 65 | + # Test invalid |
40 | 66 | with self.assertRaises(ValidationError): |
41 | | - UserDbRequest(operation="delete", username="test_user", |
42 | | - user="test_user", message_id="test") |
| 67 | + UserDbRequest(operation="read", user={"username": "test"}, |
| 68 | + message_id="test0") |
| 69 | + |
| 70 | + def test_update_user_db_request(self): |
| 71 | + from neon_data_models.models.api.mq import UpdateUserRequest |
| 72 | + |
| 73 | + # Test update user valid |
| 74 | + valid_kwargs = {"message_id": "test_id", "operation": "update", |
| 75 | + "auth_password": "test_password", |
| 76 | + "user": {"username": "test_user", |
| 77 | + "skills": {"skill_id": {"test": True}}}} |
| 78 | + update_request = UpdateUserRequest(**valid_kwargs) |
| 79 | + self.assertIsInstance(update_request, UpdateUserRequest) |
| 80 | + self.assertEqual(update_request.auth_username, |
| 81 | + update_request.user.username) |
| 82 | + generic_request = UserDbRequest(**valid_kwargs) |
| 83 | + self.assertIsInstance(generic_request, UpdateUserRequest) |
| 84 | + self.assertEqual(generic_request.user.username, |
| 85 | + update_request.user.username) |
| 86 | + |
| 87 | + # Test update read username/password from User object |
| 88 | + update = UpdateUserRequest(message_id="test_id", operation="update", |
| 89 | + user={"username": "user", |
| 90 | + "password_hash": "password"}) |
| 91 | + self.assertEqual(update.auth_username, "user") |
| 92 | + self.assertEqual(update.auth_password, "password") |
| 93 | + |
| 94 | + # Test update with separate authentication user |
| 95 | + update = UpdateUserRequest(message_id="test_id", operation="update", |
| 96 | + user={"username": "user", |
| 97 | + "password_hash": "password"}, |
| 98 | + auth_username="admin", auth_password="admin_pass") |
| 99 | + self.assertEqual(update.user.username, "user") |
| 100 | + self.assertEqual(update.user.password_hash, "password") |
| 101 | + |
| 102 | + self.assertEqual(update.auth_username, "admin") |
| 103 | + self.assertEqual(update.auth_password, "admin_pass") |
| 104 | + |
| 105 | + # Test invalid |
| 106 | + with self.assertRaises(ValidationError): |
| 107 | + UserDbRequest(operation="update", user={"username": "test_user", |
| 108 | + "skills": {"skill_id": { |
| 109 | + "test": True}}}, |
| 110 | + message_id="test0") |
| 111 | + |
| 112 | + def test_delete_user_db_request(self): |
| 113 | + from neon_data_models.models.api.mq import DeleteUserRequest |
| 114 | + |
| 115 | + # Test delete user valid |
| 116 | + valid_kwargs = {"message_id": "test_id", "operation": "delete", |
| 117 | + "user": {"username": "test_user"}} |
| 118 | + delete_request = DeleteUserRequest(**valid_kwargs) |
| 119 | + self.assertIsInstance(delete_request, DeleteUserRequest) |
| 120 | + generic_request = UserDbRequest(**valid_kwargs) |
| 121 | + self.assertIsInstance(generic_request, DeleteUserRequest) |
| 122 | + self.assertEqual(generic_request.user.username, |
| 123 | + delete_request.user.username) |
| 124 | + |
| 125 | + # Test invalid |
43 | 126 | with self.assertRaises(ValidationError): |
44 | | - UserDbRequest(operation="create", username="test_user") |
| 127 | + UserDbRequest(operation="delete", username="test_user", |
| 128 | + message_id="test0") |
0 commit comments