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")
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")
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.")
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.")
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")
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)
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)
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)
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")
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")
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")
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")
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.")
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")
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")
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.")
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")
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.")
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)
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")
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.")
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.")
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))
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")
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))
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")
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': '' }])
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")
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")
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")