def test_status_offline(self): response_data = request.on_status( as_parser(self.activity_for_status('offline'))) self.assertEqual(True, response_data[0])
def test_not_allowed(self): act = self.json() FakeDb._channel_acls[ApiActions.CROSSROOM] = {'disallow': ''} allowed = utils.can_send_cross_room(as_parser(act), BaseWithDb.ROOM_ID, BaseWithDb.OTHER_ROOM_ID) self.assertFalse(allowed)
def test_users_in_room_no_room_id(self): act = self.activity_for_users_in_room() del act['actor']['id'] response_data = request.on_users_in_room(as_parser(act)) self.assertEqual(True, response_data[0])
def test_allowed_same_room(self): act = self.json() FakeDb._channel_acls[ApiActions.CROSSROOM] = {'samechannel': ''} allowed = utils.can_send_cross_room(as_parser(act), BaseWithDb.ROOM_ID, BaseWithDb.ROOM_ID) self.assertTrue(allowed)
def test_no_origin_room(self): act = self.json() FakeDb._channel_acls[ApiActions.CROSSROOM] = {'samechannel': ''} self.assertRaises(NoOriginRoomException, utils.can_send_cross_room, as_parser(act), None, BaseWithDb.OTHER_ROOM_ID)
def test_origin_room_does_not_exist(self): json_act = self.json_act() json_act['actor']['url'] = RequestMessageTest.OTHER_ROOM_ID is_valid, code, msg = self.validator.on_message(as_parser(json_act)) self.assertFalse(is_valid)
def act(self): return as_parser(self.json_act())
def test_history_allowed_owner_in_room(self): self.join_room() self.set_owner() act = self.activity_for_history() response_data = request.on_history(as_parser(act)) self.assertEqual(True, response_data[0])
def test_id_on_actor(self): activity = as_parser(self.get_act()) valid, reason = self.validator.validate_request(activity) self.assertTrue(valid)
def test_history(self): act = self.activity_for_history() response_data = request.on_history(as_parser(act)) self.assertEqual(True, response_data[0])
def test_history_no_target_id(self): act = self.activity_for_history(skip={'target_id'}) response_data = request.on_history(as_parser(act)) self.assertEqual(False, response_data[0])
def test_status_change_user_id(self): self.set_session(SessionKeys.user_id.value, BaseTest.USER_ID + '123') response_data = request.on_status( as_parser(self.activity_for_status('online'))) self.assertEqual(False, response_data[0])
def test_status_no_user_name_in_session(self): self.set_session(SessionKeys.user_name.value, None) response_data = request.on_status( as_parser(self.activity_for_status('online'))) self.assertEqual(False, response_data[0])
def test_status_invalid(self): response_data = request.on_status( as_parser(self.activity_for_status('invalid'))) self.assertEqual(False, response_data[0])
def test_no_room_id(self): json_act = self.json_act() json_act['target']['id'] = '' is_valid, code, msg = self.validator.on_message(as_parser(json_act)) self.assertFalse(is_valid)
def test_wrong_on_actor(self): activity = self.get_act() activity['actor']['id'] = '5678' activity = as_parser(activity) valid, reason = self.validator.validate_request(activity) self.assertFalse(valid)
def test_room_does_not_exist(self): FakeDb._room_exists[RequestMessageTest.ROOM_ID] = False json_act = self.json_act() is_valid, code, msg = self.validator.on_message(as_parser(json_act)) self.assertFalse(is_valid)
def test_no_id_on_actor(self): activity = self.get_act() del activity['actor']['id'] activity = as_parser(activity) valid, reason = self.validator.validate_request(activity) self.assertFalse(valid)
def test_not_in_target_room(self): json_act = self.json_act() FakeDb._room_contains[RequestMessageTest.ROOM_ID].remove( RequestMessageTest.USER_ID) is_valid, code, msg = self.validator.on_message(as_parser(json_act)) self.assertFalse(is_valid)
def test_leave_when_in_room_is_okay(self): act = self.activity_for_join() api.on_join(act, as_parser(act)) self.assert_in_room(True) self.assert_leave_succeeds()
def test_status_offline(self): act = self.activity_for_status('offline') response_data = api.on_status(act, as_parser(act)) self.assertEqual(200, response_data[0])
def assert_leave_succeeds(self): self.assertTrue(request.on_leave(as_parser(self.activity_for_leave()))[0])
def test_not_allowed_different_channel(self): act = self.json() FakeDb._channel_acls[ApiActions.CROSSROOM] = {'samechannel': ''} act['provider']['url'] = BaseWithDb.OTHER_CHANNEL_ID allowed = utils.can_send_cross_room(as_parser(act), BaseWithDb.ROOM_ID, BaseWithDb.OTHER_ROOM_ID) self.assertFalse(allowed)
def test_blank_object_content(self): act = self.json_act() act['object']['content'] = '' is_valid, code, msg = self.validator.on_message(as_parser(act)) self.assertFalse(is_valid)
def test_no_target_room(self): act = self.json() FakeDb._channel_acls[ApiActions.CROSSROOM] = {'samechannel': ''} self.assertRaises(NoTargetRoomException, utils.can_send_cross_room, as_parser(act), BaseWithDb.ROOM_ID, None)
def test_object_content_not_base64(self): act = self.json_act() act['object']['content'] = 'this is not base64' is_valid, code, msg = self.validator.on_message(as_parser(act)) self.assertFalse(is_valid)
def test_list_rooms_status_code_true_if_no_rooms(self): self.assert_in_room(False) response_data = request.on_list_rooms( as_parser(self.activity_for_list_rooms())) self.assertEqual(True, response_data[0])
def test_wrong_object_type(self): json_act = self.json_act() json_act['target']['objectType'] = 'foo' is_valid, code, msg = self.validator.on_message(as_parser(json_act)) self.assertEqual(code, ErrorCodes.INVALID_TARGET_TYPE) self.assertFalse(is_valid)
def test_users_in_room_no_target_id(self): act = self.activity_for_users_in_room() del act['target']['id'] is_valid, code, msg = request.on_users_in_room(as_parser(act)) self.assertFalse(is_valid) self.assertEqual(code, ErrorCodes.MISSING_TARGET_ID)
def test_status_invisible(self): response_data = request.on_status( as_parser(self.activity_for_status('invisible'))) self.assertEqual(False, response_data[0]) # not super user, so False