Esempio n. 1
0
 def test_create_project(self):
     user = ItsUser("pythonut")
     user.createProject("pythonUnitTest")
     self.project_should_own_by_user(user, "pythonUnitTest")
     with self.assertRaises(Exception):
         user.createProject("pythonUnitTest")
     user.deleteProject("pythonUnitTest")
Esempio n. 2
0
 def test_get_project_list(self):
     user = ItsUser("pythonut")
     user.createProject("pythonUnitTest")
     self.assertTrue({
         'username': '******',
         'project_name': 'pythonUnitTest'
     } in user.getProjectList())
     user.deleteProject("pythonUnitTest")
Esempio n. 3
0
 def test_get_project_id(self):
     user = ItsUser("pythonut")
     user.createProject("pythonUnitTest")
     self.assertTrue(
         user.getProjectId("pythonUnitTest") in
         [project["project_id"] for project in user.getOwnerProjects()])
     with self.assertRaises(Exception):
         user.getProjectId("projectNotExist")
     user.deleteProject("pythonUnitTest")
Esempio n. 4
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. 5
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",
            })