memoQSecurityTest.py 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. import unittest
  2. import memoQSecurity
  3. import json
  4. import os
  5. class MemoQSecurityTest(unittest.TestCase):
  6. """Tests for memoQSecurity module."""
  7. def __init__(self, *args, **kwargs):
  8. super(MemoQSecurityTest, self).__init__(*args, **kwargs)
  9. with open("testFiles/testConfig.json") as json_file:
  10. self.config = json.load(json_file)
  11. def test_set_active_user(self):
  12. """Test for set_active_user method."""
  13. test = memoQSecurity.MemoQSecurity()
  14. test.set_active_user(self.config["wrong_user_guid"])
  15. self.assertFalse(test.user.valid_user_info(),
  16. "User info shouldn't be valid for wrong guid!")
  17. test.set_active_user(self.config["valid_user_guid"])
  18. self.assertTrue(test.user.valid_user_info(),
  19. "User info should be valid for valid guid!")
  20. self.assertEqual(test.user.info.FullName,
  21. self.config["valid_user_name"], "Names should match!")
  22. def test_get_users(self):
  23. """Test for get_users method."""
  24. test = memoQSecurity.MemoQSecurity()
  25. test.get_users()
  26. self.assertTrue(len(test.users), "List of users shouldn't be empty!")
  27. def test_user_by_name(self):
  28. """Test for user_by_name method."""
  29. test = memoQSecurity.MemoQSecurity()
  30. self.assertFalse(len(test.user_by_name(
  31. self.config["wrong_user_name"])), "List of users for wrong username should be empty!")
  32. self.assertTrue(len(test.user_by_name(
  33. self.config["valid_user_name"])), "List of users for valid username shouldn't be empty!")
  34. def test_set_password(self):
  35. """Test for set_password method."""
  36. test = memoQSecurity.MemoQSecurity()
  37. test.set_active_user(self.config["valid_user_guid"])
  38. password = test.user.info.Password
  39. test.set_password("")
  40. self.assertEqual(test.user.info.Password, password,
  41. "Password shouldn't be changed to empty!")
  42. test.set_password("something")
  43. self.assertNotEqual(test.user.info.Password, password,
  44. "Password should be changed!")
  45. def test_new_user(self):
  46. """Test for new_user method."""
  47. test = memoQSecurity.MemoQSecurity()
  48. test.new_user()
  49. self.assertNotEqual(test.user, None, "User shouldn't be none!")
  50. self.assertTrue(test.user.valid_user_info(),
  51. "User info should be valid!")
  52. self.assertEqual(test.user.info.PackageWorkflowType.value,
  53. "Online", "Package workflow should be set to online!")
  54. def test_create_update_delete_user(self):
  55. """Test for create_user, update_user and delete_user methods."""
  56. test = memoQSecurity.MemoQSecurity()
  57. # Create new user
  58. test.new_user()
  59. test.user.info.EmailAddress = "anon@anon.com"
  60. test.user.info.FullName = "Anonymous Mouse"
  61. test.set_password("something123")
  62. test.user.info.UserName = "anonymous"
  63. guid = test.create_user()
  64. self.assertNotEqual(guid, None, "Guid shouldn't be none!")
  65. # Update user
  66. new_fullname = "Anonymous Mouse2"
  67. test.user.info.FullName = new_fullname
  68. self.assertFalse(test.update_user(),
  69. "Update should return false for password not set!")
  70. test.set_password("something123")
  71. self.assertTrue(test.update_user(), "Update should return true!")
  72. test.set_active_user(guid)
  73. self.assertEqual(test.user.info.FullName,
  74. new_fullname, "Names should be equal!")
  75. # Delete user
  76. test = memoQSecurity.MemoQSecurity()
  77. self.assertFalse(test.delete_user(),
  78. "Deletion should fail for no user!")
  79. test.set_active_user(guid)
  80. self.assertTrue(test.delete_user(), "Deletion should succeed!")
  81. test.set_active_user(guid)
  82. self.assertFalse(test.user.valid_user_info(),
  83. "User info shouldn't be valid for deleted user!")
  84. def test_get_groups(self):
  85. """Test for get_groups method."""
  86. test = memoQSecurity.MemoQSecurity()
  87. test.get_groups()
  88. self.assertTrue(len(test.groups), "List of groups shouldn't be empty!")
  89. def test_group_by_name(self):
  90. """Test for group_by_name method."""
  91. test = memoQSecurity.MemoQSecurity()
  92. self.assertFalse(len(test.group_by_name(
  93. self.config["wrong_group_name"])), "List of groups for wrong group name should be empty!")
  94. self.assertTrue(len(test.group_by_name(
  95. self.config["valid_group_name"])), "List of groups for valid group name shouldn't be empty!")
  96. def test_get_subvendors(self):
  97. """Test for get_subvendors method."""
  98. test = memoQSecurity.MemoQSecurity()
  99. test.get_subvendors()
  100. self.assertTrue(len(test.subvendors),
  101. "List of subvendors shouldn't be empty!")
  102. def test_users_of_group(self):
  103. """Test for users_of_group method."""
  104. test = memoQSecurity.MemoQSecurity()
  105. self.assertFalse(len(test.users_of_group(self.config[
  106. "wrong_group_guid"])), "List of users should be empty for wrong guid!")
  107. self.assertFalse(len(test.users_of_group(None)),
  108. "List of users should be empty for no guid!")
  109. self.assertTrue(len(test.users_of_group(self.config[
  110. "valid_group_guid"])), "List of users shouldn't be empty for valid guid!")
  111. def test_add_remove_current_user_tofrom_group(self):
  112. """Test for add_current_user_to_group and remove_current_user_from_group methods."""
  113. test = memoQSecurity.MemoQSecurity()
  114. test.set_active_user(self.config["wrong_user_guid"])
  115. self.assertFalse(test.add_current_user_to_group(self.config["valid_group_guid"]),
  116. "Should be false if wrong user but valid group guid! (adding)")
  117. self.assertFalse(test.remove_current_user_from_group(self.config["valid_group_guid"]),
  118. "Should be false if wrong user but valid group guid! (deleting)")
  119. test.set_active_user(self.config["valid_user_guid"])
  120. self.assertFalse(test.add_current_user_to_group(self.config[
  121. "wrong_group_guid"]),
  122. "Should be false if valid user but wrong group guid! (adding)")
  123. self.assertFalse(test.remove_current_user_from_group(self.config[
  124. "wrong_group_guid"]),
  125. "Should be false if valid user but wrong group guid! (deleting)")
  126. # Adding valid user to valid group
  127. self.assertTrue(test.add_current_user_to_group(self.config["valid_group_guid"]),
  128. "Should be true if valid user and group guid! (adding)")
  129. users = test.users_of_group(self.config[
  130. "valid_group_guid"])
  131. self.assertTrue(len([x for x in users if x.info.UserGuid ==
  132. self.config[
  133. "valid_user_guid"]]),
  134. "Valid user should be part of the group after adding!")
  135. # Removing valid user from valid group
  136. self.assertTrue(test.remove_current_user_from_group(self.config["valid_group_guid"]),
  137. "Should be true if valid user and group guid! (deleting)")
  138. users = test.users_of_group(self.config[
  139. "valid_group_guid"])
  140. self.assertFalse(len([x for x in users if x.info.UserGuid ==
  141. self.config["valid_user_guid"]]),
  142. "Valid user shouldn't be part of the group after deleting!")
  143. if __name__ == "__main__":
  144. unittest.main()