Exemplo n.º 1
0
    def test_assign_course_no_permissions(self):
        self.environment.user = User("admin", "administrator")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")

        self.environment.user = User("jayson", "instructor")
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")

        self.environment.user = User("apoorv", "TA")
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")
Exemplo n.º 2
0
    def test_view_courses_no_permissions(self):
        self.environment.user = User("bogusUser", "bogusRole")
        view_command = ViewCourses(self.environment)
        response = view_command.action({})

        self.assertEqual(response, "ERROR")

        self.environment.user = User("apoorv", "TA")
        view_command = ViewCourses(self.environment)
        response = view_command.action({})

        self.assertEqual(response, "ERROR")
Exemplo n.º 3
0
    def test_view_labs_no_permissions(self):
        self.environment.user = User("bogusUser", "bogusRole")
        view_command = ViewCourses(self.environment)
        response = view_command.action(["view_courses"])

        self.assertEqual(response, "Error viewing courses.")

        self.environment.user = User("apoorv", "TA")
        view_command = ViewCourses(self.environment)
        response = view_command.action(["view_courses"])

        self.assertEqual(response, "Error viewing courses.")
Exemplo n.º 4
0
    def test_create_course_correct_args_administrator(self):
        self.environment.user = User("root", "administrator")
        create_course = CreateCourse(self.environment)
        response = create_course.action(["create_course", "1", "course1"])

        self.assertTrue(self.environment.database.course_exists("1"))
        self.assertEqual(response, "Course Created Successfully.")

        self.environment.user = User("subroot", "administrator")
        create_course = CreateCourse(self.environment)
        response = create_course.action(["create_course", "2", "course2"])

        self.assertTrue(self.environment.database.course_exists("2"))
        self.assertEqual(response, "Course Created Successfully.")
Exemplo n.º 5
0
    def test_assign_course_correct_args_and_permissions(self):
        self.environment.user = User("root", "supervisor")
        self.environment.database.create_account("jayson", "password",
                                                 "instructor")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertTrue(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "Assigned to course.")

        self.environment.user = User("root", "supervisor")
Exemplo n.º 6
0
    def test_extra_args(self):
        self.environment.user = User("root", "administrator")
        logout = Logout(self.environment)
        response = logout.action({"NotARealTHing": "nothing"})

        self.assertEqual(response, "Logged out.")
        self.assertIsNone(self.environment.user)
Exemplo n.º 7
0
    def test_successful_logout(self):
        self.environment.user = User("root", "administrator")
        logout = Logout(self.environment)
        response = logout.action({})

        self.assertEqual(response, "Logged out.")
        self.assertIsNone(self.environment.user)
Exemplo n.º 8
0
    def test_extra_args(self):
        self.environment.user = User("root", "administrator")
        logout = Logout(self.environment)
        response = logout.action(["logout", "foo"])

        self.assertEqual(response, "Error logging out.")
        self.assertIsNotNone(self.environment.user)
Exemplo n.º 9
0
    def test_assign_course_to_not_an_instructor(self):
        self.environment.user = User("root", "supervisor")
        self.environment.database.create_account("admin", "password",
                                                 "administrator")
        self.environment.database.create_account("supervisor", "password",
                                                 "supervisor")
        self.environment.database.create_account("ta", "password", "TA")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "admin"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")

        response = assign_command.action(
            ["assign_course", course_number, "supervisor"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")

        response = assign_command.action(
            ["assign_course", course_number, "TA"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")
Exemplo n.º 10
0
    def test_create_course_no_permissions(self):
        self.environment.user = User("instructor_acct", "instructor")

        create_course = CreateCourse(self.environment)
        response = create_course.action(["create_course", "1", "course1"])

        self.assertFalse(self.environment.database.course_exists("1"))
        self.assertEqual(response, "ERROR")

        self.environment.user = User("ta_acct", "TA")

        create_course = CreateCourse(self.environment)
        response = create_course.action(["create_course", "2", "course2"])

        self.assertFalse(self.environment.database.course_exists("2"))
        self.assertEqual(response, "ERROR")
Exemplo n.º 11
0
 def test_create_account_correct_args_ta(self):
     self.environment.user = User("root", "TA")
     create_account = CreateAccount(self.environment)
     user_name = "new_user"
     response = create_account.action(
         ["create_account", user_name, "password", "TA"])
     self.assertEqual(response, "ERROR")
Exemplo n.º 12
0
    def test_view_labs_correct(self):
        self.environment.user = User("root", "administrator")
        view_command = ViewLabs(self.environment)
        response = view_command.action(["view_labs"])

        self.assertEqual(response,
                         "361 801\n" + "361 802 apoorv\n" + "361 803\n")
Exemplo n.º 13
0
    def test_delete_account_that_doesnt_exist(self):
        self.environment.user = User("root", "administrator")
        user_name = "nonexisting_account"

        delete_command = DeleteAccount(self.environment)
        response = delete_command.action(["delete_account", user_name])

        self.assertEqual(response, "Error deleting account.")
Exemplo n.º 14
0
    def test_create_course_course_exists(self):
        self.environment.user = User("root", "supervisor")
        self.environment.database.create_course("1", "course1")

        create_course = CreateCourse(self.environment)
        response = create_course.action(["create_course", "1", "course1"])

        self.assertEqual(response, "ERROR")
Exemplo n.º 15
0
    def test_assign_course_correct_args_and_permissions_supervisor(self):
        self.environment.user = User("root", "supervisor")
        self.environment.database.create_account("jayson", "password",
                                                 "instructor")
        self.environment.database.create_course(
            "361", "Introduction to Software Engineering")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertTrue(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "Course assigned successfully.")

        self.environment.user = User("root", "supervisor")
Exemplo n.º 16
0
    def test_create_account_correct_args(self):
        self.environment.user = User("root", "administrator")
        create_account = CreateAccount(self.environment)
        user_name = "new_user"
        response = create_account.action(
            ["create_account", user_name, "password", "TA"])

        self.assertIsNotNone(self.environment.database.get_user(user_name))
        self.assertEqual(response, "Account created.")
Exemplo n.º 17
0
    def test_view_courses_wrong_num_args(self):
        self.environment.user = User("root", "supervisor")
        view_command = ViewCourses(self.environment)
        response = view_command.action({
            "course_number": None,
            "extraarg": "extraBogusArg"
        })

        self.assertEqual(response, "ERROR")
Exemplo n.º 18
0
    def test_create_account_ta(self):
        self.environment.user = User("root", "administrator")

        create_account = CreateAccount(self.environment)
        user_name = "new_user"
        response = create_account.action(
            ["create_account", user_name, "pass", "TA"])

        self.assertEqual(response, "Account created.")
Exemplo n.º 19
0
    def test_already_logged_in(self):
        self.environment.user = User("someone_else", "supervisor")

        self.environment.database.create_account("testuser", "1234", "supervisor")
        login = Login(self.environment)
        response = login.action(["login", "testuser", "1234"])

        self.assertEqual(response, "Error logging in.")
        self.assertIsNotNone(self.environment.user)
Exemplo n.º 20
0
    def test_assign_lab_correct_args_and_permissions_TA(self):
        self.environment.user = User("jayson", "TA")

        course_number = "361"
        lab_number = "801"
        assign_command = AssignLab(self.environment)
        response = assign_command.action(
            ["assign_lab", course_number, lab_number, "apoorv"])

        self.assertEqual(response, "ERROR")
Exemplo n.º 21
0
    def test_create_account_no_permissions(self):
        self.environment.user = User("ta_acct", "TA")

        create_account = CreateAccount(self.environment)
        user_name = "new_user"
        response = create_account.action(
            ["create_account", user_name, "password", "TA"])

        self.assertIsNone(self.environment.database.get_user(user_name))
        self.assertEqual(response, "Error creating account.")
Exemplo n.º 22
0
    def test_create_account_account_exists(self):
        self.environment.user = User("root", "administrator")
        user_name = "new_user"
        self.environment.database.create_account(user_name, "password", "TA")

        create_account = CreateAccount(self.environment)
        response = create_account.action(
            ["create_account", user_name, "password", "TA"])

        self.assertEqual(response, "Error creating account.")
Exemplo n.º 23
0
    def test_create_account_invalid_role(self):
        self.environment.user = User("root", "administrator")

        create_account = CreateAccount(self.environment)
        user_name = "new_user"
        response = create_account.action(
            ["create_account", user_name, "password", "invalid_role"])

        self.assertEqual(response, "Error creating account.")
        self.assertIsNone(self.environment.database.get_user(user_name))
Exemplo n.º 24
0
    def test_assign_course_wrong_num_args(self):
        self.environment.user = User("root", "supervisor")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(["assign_course", course_number])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")
Exemplo n.º 25
0
    def test_delete_account_correct_args(self):
        self.environment.user = User("root", "administrator")
        user_name = "existing_account"
        self.environment.database.create_account(user_name, "password", "TA")

        delete_command = DeleteAccount(self.environment)
        response = delete_command.action(["delete_account", user_name])

        self.assertEqual(response, "Account deleted.")
        self.assertIsNone(self.environment.database.get_user(user_name))
Exemplo n.º 26
0
    def test_create_lab_correct_args_TA(self):
        self.environment.user = User("root", "TA")

        create_command = CreateLab(self.environment)
        course_number = "361"
        lab_number = "801"
        response = create_command.action(
            ["create_lab", course_number, lab_number])

        self.assertEqual(response, "ERROR")
Exemplo n.º 27
0
    def test_view_courses_correct_instructor(self):
        self.environment.user = User("root", "instructor")
        view_command = ViewCourses(self.environment)
        response = view_command.action('')

        self.assertEqual(response, [{
            'number': '361',
            'name': 'SoftwareEngineering',
            'instructor': None,
            'tas': ''
        }])
Exemplo n.º 28
0
    def test_assign_course_to_nonexistant_user(self):
        self.environment.user = User("root", "supervisor")

        course_number = "361"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "IDontExist"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")
Exemplo n.º 29
0
    def test_assign_course_that_doesnt_exist(self):
        self.environment.user = User("root", "supervisor")

        course_number = "1000000"
        assign_command = AssignCourse(self.environment)
        response = assign_command.action(
            ["assign_course", course_number, "jayson"])

        self.assertFalse(
            self.environment.database.is_course_assigned(course_number))
        self.assertEqual(response, "ERROR")
Exemplo n.º 30
0
    def test_create_lab_wrong_num_args(self):
        self.environment.user = User("root", "administrator")

        create_command = CreateLab(self.environment)
        course_number = "361"
        lab_number = "801"
        response = create_command.action(["create_lab", course_number])

        self.assertFalse(
            self.environment.database.lab_exists(course_number, lab_number))
        self.assertEqual(response, "ERROR")