def setUp(self): self.userManager = UserManager() self.userManager.deleteUser({ "email": "*****@*****.**" }) self.userManager.createUser({ "username": "******", "name": "Python Unit Test", "email": "*****@*****.**", "lineID": "unittestlineid", "role": "user", "password": "******" }) self.userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "lineID": "unittestlineid2", "role": "user", "password": "******" }) self.user = ItsUser("pythonut") self.user2 = ItsUser("pythonut2") self.create_test_project()
def sign_up(): userManager = UserManager() payload = request.get_json() try: userManager.createUser(request.get_json()) except: return failure("Username exists") return success("Create account succeed")
def setUp(self): userManager = UserManager() userManager.createUser({ "username": "******", "name": "Python Unit Test", "email": "*****@*****.**", "lineID": "unittestlineid", "role": "user", "password": "******" })
def test_create_duplicated_user(self): userManager = UserManager() with self.assertRaises(Exception): userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "lineID": "unittestlineid2", "role": "user", "password": "******" })
def test_create_user(self): userManager = UserManager() userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "role": "user", "password": "******" }) usernames = [user["username"] for user in userManager.getUsers()] self.assertTrue("pythonut3" in usernames)
def test_update_role(self): userManager = UserManager() userManager.updateRole("pythonut", "manager") role = [user["role"] for user in userManager.getUsers() if user["username"] == "pythonut"][0] self.assertEqual(role, "manager") with self.assertRaises(Exception): userManager.updateRole("notExist", "manager")
def test_get_users(self): userManager = UserManager() userManager.deleteUser({ "username": "******" }) usernames = [user["username"] for user in userManager.getUsers()] self.assertTrue("pythonut" in usernames) self.assertFalse("pythonut2" in usernames) userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "lineID": "unittestlineid2", "role": "user", "password": "******" }) usernames = [user["username"] for user in userManager.getUsers()] self.assertTrue("pythonut" in usernames) self.assertTrue("pythonut2" in usernames)
def tearDown(self): userManager = UserManager() userManager.deleteUser({ "email": "*****@*****.**" })
class TestProject(unittest.TestCase): def setUp(self): self.userManager = UserManager() self.userManager.deleteUser({ "email": "*****@*****.**" }) self.userManager.createUser({ "username": "******", "name": "Python Unit Test", "email": "*****@*****.**", "lineID": "unittestlineid", "role": "user", "password": "******" }) self.userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "lineID": "unittestlineid2", "role": "user", "password": "******" }) self.user = ItsUser("pythonut") self.user2 = ItsUser("pythonut2") self.create_test_project() def test_get_and_update_project_data(self): project = Project("pythonut", "ut_project") self.assertEqual(project.getData(), { "project_name": "ut_project", "description": "" }) project.updateDescription("Test, test.") self.assertEqual(project.getData(), { "project_name": "ut_project", "description": "Test, test." }) def test_add_new_member(self): project = Project("pythonut", "ut_project") self.user_should_not_in_project("pythonut2", project) project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) self.assertTrue({ 'username': '******', 'owner': False, 'manager': False, 'tester': True, 'developer': True, 'name': 'Python Unit Test2', 'email': '*****@*****.**'} in project.getMemberList()) with self.assertRaises(Exception): project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) with self.assertRaises(Exception): project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) def test_get_member_list(self): project = Project("pythonut2", "ut_project2") self.assertEqual(project.getMemberList(), [{ 'username': '******', 'owner': True, 'manager': True, 'tester': False, 'developer': False, 'name': 'Python Unit Test2', 'email': '*****@*****.**'}]) project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) self.assertEqual(project.getMemberList(), [{ 'username': '******', 'owner': True, 'manager': True, 'tester': False, 'developer': False, 'name': 'Python Unit Test2', 'email': '*****@*****.**'}, { 'username': '******', 'manager': False, 'tester': True, 'developer': True, 'owner': False, 'name': 'Python Unit Test', 'email': '*****@*****.**'}]) def test_get_project_not_exist(self): with self.assertRaises(Exception): project = Project("pythonut", "notExist") with self.assertRaises(Exception): project = Project("notExist", "ut_project") with self.assertRaises(Exception): project = Project("pythonut2", "ut_project") def test_update_member_role(self): project = Project("pythonut", "ut_project") project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) project.updateMemberRole("pythonut2", { "role": "manager", "value": True}) self.assertTrue({ 'username': '******', 'owner': False, 'manager': True, 'tester': True, 'developer': True, 'name': 'Python Unit Test2', 'email': '*****@*****.**'} in project.getMemberList()) with self.assertRaises(Exception): project.updateMemberRole("pythonutNotExist", { "role": "manager", "value": True}) def test_is_manager(self): project = Project("pythonut", "ut_project") project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) self.assertTrue(project.isManager("pythonut")) self.assertFalse(project.isManager("pythonut2")) def test_get_issue(self): project = Project("pythonut", "ut_project") issueNumber = self.create_test_issue(project, "pythonut", "Unit test") self.assertTrue(project.getIssue(issueNumber).getData()["title"], "Unit test") with self.assertRaises(Exception): project.getIssue(-1) project.deleteIssue() def test_create_issue(self): project = Project("pythonut", "ut_project") self.create_test_issue(project, "pythonut", "Unit test") self.assertTrue("Unit test" in [issue["title"] for issue in project.getIssueList()]) project.deleteIssue() def test_remove_member(self): project = Project("pythonut", "ut_project") project.addNewMember({ "username":"******", "manager": False, "tester": True, "developer": True}) with self.assertRaises(Exception): project.removeMember("not_exist") project.removeMember("pythonut2") self.user_should_not_in_project("pythonut2", project) def test_get_last_issue_id(self): project = Project("pythonut", "ut_project") self.assertEqual(project.getLastIssueId(), 0) self.create_test_issue(project, "pythonut", "Unit test") self.assertEqual(project.getLastIssueId(), 1) project.deleteIssue() def create_test_project(self): try: self.user.deleteProject("ut_project") self.user2.deleteProject("ut_project2") except: pass self.user.createProject("ut_project") self.user2.createProject("ut_project2") def tearDown(self): try: self.user.deleteProject("ut_project") self.user2.deleteProject("ut_project2") except: pass self.userManager.deleteUser({ "email": "*****@*****.**" }) def user_should_not_in_project(self, username, project): self.assertFalse(username in [member["username"] for member in project.getMemberList()]) def create_test_issue(self, project, creator, issueTitle): return project.createIssue(creator, { "title": issueTitle, "severity": "low", "priority": "low", "reproducible": "no", "assignees": [creator], "comment": "Test Comment", })
class TestProject(unittest.TestCase): def setUp(self): self.userManager = UserManager() self.userManager.deleteUser({"email": "*****@*****.**"}) self.userManager.createUser({ "username": "******", "name": "Python Unit Test", "email": "*****@*****.**", "lineID": "unittestlineid", "role": "user", "password": "******" }) self.userManager.createUser({ "username": "******", "name": "Python Unit Test2", "email": "*****@*****.**", "lineID": "unittestlineid2", "role": "user", "password": "******" }) self.user = ItsUser("pythonut") self.user2 = ItsUser("pythonut2") self.create_test_project() def create_test_project(self): try: self.user.deleteProject("ut_project") self.user2.deleteProject("ut_project2") except: pass self.user.createProject("ut_project") self.user2.createProject("ut_project2") self.project = Project("pythonut", "ut_project") self.project.addNewMember({ "username": "******", "manager": True, "tester": False, "developer": False }) self.project2 = Project("pythonut2", "ut_project2") def test_add_new_comment(self): issueNumber = self.create_test_issue(self.project, "pythonut", "Unit test") issue = self.project.getIssue(issueNumber) issue.addNewComment("pythonut", "UT Comment") self.assertTrue("UT Comment" in [ comment["comment"] for comment in issue.getData()["comment_list"] ]) def test_change_attribute(self): issueNumber = self.create_test_issue(self.project, "pythonut", "Unit test") issue = self.project.getIssue(issueNumber) issue.changeAttribute("pythonut", {"severity": "high"}) self.assertEqual("high", issue.getData()["severity"]) with self.assertRaises(Exception): issue.changeAttribute("pythonut", {"notExist": "noUse"}) def test_change_assignee(self): issueNumber = self.create_test_issue(self.project, "pythonut", "Unit test") issue = self.project.getIssue(issueNumber) issue.changeAssignee( "pythonut", { "action": "add", "assignees": ["pythonut", "pythonut2"], "target": "pythonut2" }) self.assertEqual(["pythonut", "pythonut2"], issue.getData()["assignees"]) with self.assertRaises(Exception): issue.changeAssignee( "pythonut", { "action": "error", "assignees": ["pythonut", "pythonut2"], "target": "pythonut2" }) def tearDown(self): try: self.user.deleteProject("ut_project") self.user2.deleteProject("ut_project2") except: pass self.userManager.deleteUser({"email": "*****@*****.**"}) def create_test_issue(self, project, creator, issueTitle): return project.createIssue( creator, { "title": issueTitle, "severity": "low", "priority": "low", "reproducible": "no", "assignees": [creator], "comment": "Test Comment", })