class UserManagementTest(unittest.TestCase): def setUp(self): self.arango = Arango() self.username = generate_user_name(self.arango) # Test user cleanup self.addCleanup(self.arango.delete_user, username=self.username, safe_delete=True) def test_get_user(self): self.assertEqual(self.arango.create_user(self.username, "password"), { "active": True, "change_password": False, "extra": {} }) self.assertEqual(self.arango.user(self.username), { "active": True, "change_password": False, "extra": {} }) # Retrieving a non-existing user should fail self.assertRaises(UserNotFoundError, self.arango.user, username=generate_user_name(self.arango)) def test_create_user(self): self.assertEqual( self.arango.create_user(username=self.username, password="******", change_password=True, extra={"key": "val"}), { "active": True, "change_password": True, "extra": { "key": "val" } }) self.assertIn(self.username, self.arango.users) self.assertEqual(self.arango.user(username=self.username), { "active": True, "change_password": True, "extra": { "key": "val" } }) # Creating duplicate user should fail self.assertRaises(UserCreateError, self.arango.create_user, username=self.username, password="******") def test_update_user(self): self.assertEqual(self.arango.create_user(self.username, "password"), { "active": True, "change_password": False, "extra": {} }) self.assertEqual( self.arango.update_user(username=self.username, password="******", change_password=True, extra={"key": "val"}), { "active": True, "change_password": True, "extra": { "key": "val" } }) self.assertEqual(self.arango.user(username=self.username), { "active": True, "change_password": True, "extra": { "key": "val" } }) # Updating a non-existing user should fail self.assertRaises(UserUpdateError, self.arango.update_user, username=generate_user_name(self.arango), password="******") def test_replace_user(self): self.arango.create_user(username=self.username, password="******", change_password=True, extra={"key": "val"}), self.assertEqual( self.arango.replace_user( username=self.username, password="******", ), { "active": True, "change_password": False, "extra": {} }) self.assertEqual(self.arango.user(username=self.username), { "active": True, "change_password": False, "extra": {} }) # Updating non-existing user should fail self.assertRaises(UserReplaceError, self.arango.replace_user, username=generate_user_name(self.arango), password="******") def test_delete_user(self): self.assertEqual(self.arango.create_user(self.username, "password"), { "active": True, "change_password": False, "extra": {} }) self.assertIn(self.username, self.arango.users) self.arango.delete_user(self.username) self.assertNotIn(self.username, self.arango.users) # Deleting non-existing user should fail self.assertRaises(UserDeleteError, self.arango.delete_user, username=generate_user_name(self.arango))
class UserManagementTest(unittest.TestCase): def setUp(self): self.arango = Arango() self.username = generate_user_name(self.arango) # Test user cleanup self.addCleanup(self.arango.delete_user, username=self.username, safe_delete=True) def test_get_user(self): self.assertEqual( self.arango.create_user(self.username, "password"), {"active": True, "change_password": False, "extra": {}} ) self.assertEqual( self.arango.user(self.username), {"active": True, "change_password": False, "extra": {}} ) # Retrieving a non-existing user should fail self.assertRaises( UserNotFoundError, self.arango.user, username=generate_user_name(self.arango) ) def test_create_user(self): self.assertEqual( self.arango.create_user( username=self.username, password="******", change_password=True, extra={"key": "val"} ), { "active": True, "change_password": True, "extra": {"key": "val"} } ) self.assertIn(self.username, self.arango.users) self.assertEqual( self.arango.user(username=self.username), { "active": True, "change_password": True, "extra": {"key": "val"} } ) # Creating duplicate user should fail self.assertRaises( UserCreateError, self.arango.create_user, username=self.username, password="******" ) def test_update_user(self): self.assertEqual( self.arango.create_user(self.username, "password"), {"active": True, "change_password": False, "extra": {}} ) self.assertEqual( self.arango.update_user( username=self.username, password="******", change_password=True, extra={"key": "val"} ), { "active": True, "change_password": True, "extra": {"key": "val"} } ) self.assertEqual( self.arango.user(username=self.username), { "active": True, "change_password": True, "extra": {"key": "val"} } ) # Updating a non-existing user should fail self.assertRaises( UserUpdateError, self.arango.update_user, username=generate_user_name(self.arango), password="******" ) def test_replace_user(self): self.arango.create_user( username=self.username, password="******", change_password=True, extra={"key": "val"} ), self.assertEqual( self.arango.replace_user( username=self.username, password="******", ), { "active": True, "change_password": False, "extra": {} } ) self.assertEqual( self.arango.user(username=self.username), { "active": True, "change_password": False, "extra": {} } ) # Updating non-existing user should fail self.assertRaises( UserReplaceError, self.arango.replace_user, username=generate_user_name(self.arango), password="******" ) def test_delete_user(self): self.assertEqual( self.arango.create_user(self.username, "password"), {"active": True, "change_password": False, "extra": {}} ) self.assertIn(self.username, self.arango.users) self.arango.delete_user(self.username) self.assertNotIn(self.username, self.arango.users) # Deleting non-existing user should fail self.assertRaises( UserDeleteError, self.arango.delete_user, username=generate_user_name(self.arango) )