Esempio n. 1
0
    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()
Esempio n. 2
0
 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")
Esempio n. 3
0
 def setUp(self):
     userManager = UserManager()
     userManager.createUser({
     "username": "******",
     "name": "Python Unit Test",
     "email": "*****@*****.**",
     "lineID": "unittestlineid",
     "role": "user",
     "password": "******"
     })
Esempio n. 4
0
 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": "******"
         })
Esempio n. 5
0
 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)
Esempio n. 6
0
 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")
Esempio n. 7
0
    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)
Esempio n. 8
0
 def tearDown(self):
     userManager = UserManager()
     userManager.deleteUser({
     "email": "*****@*****.**"
     })
Esempio n. 9
0
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",
        })
Esempio n. 10
0
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",
            })