def test_post_fcmregistration_for_other_user(self): url = "/users/1/fcmregistrations/" payload = dumps({"registration_token": "2", "user_id": 2}) response = self.client.post(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_get_lockaccesses_authenticated(self): url = "/users/1/lockaccesses/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_fcmregistration_authenticated(self): url = "/users/1/fcmregistrations/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_delete_locklockaccesses_authenticated_isadmin(self): url = "/users/1/locks/1/lockaccesses/" response = self.client.delete(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(LockAccess.objects.filter(lock_id=1).count(), 0)
def test_put_lockaccess_admin(self): url = "/users/1/lockaccesses/2/" payload = dumps({'id': 2, 'is_admin': True, 'lock_id': 1, 'user_id': 2}) response = self.client.put(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_get_ticket_authenticated_noaccess(self): url = "/users/1/locks/2/ticket/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_get_lockaccess_does_not_exist(self): url = "/users/1/lockaccesses/10/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_post_user_authenticated_user_exists(self): url = "/users/" payload = dumps({"email": "*****@*****.**", "first_name": "new", "last_name": "name"}) response = self.client.post(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_get_user_by_email(self): url = "/users/[email protected]/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(set(['id', 'email']), response.data[0].keys()) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_lock_by_mac_does_not_exist(self): url = "/locks/?mac=99:99:99:99:99:99/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_post_user_authenticated_correct_url(self): url = "/users/" payload = dumps({"email": "*****@*****.**", "first_name": "new", "last_name": "name"}) response = self.client.post(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_get_lock_by_mac(self): url = "/locks/?mac=00:00:00:00:00:01/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_post_lock_authenticated(self): url = "/users/1/locks/" payload = dumps({"mac": "00:11:22:33:44:59", "name": "New lock name"}) response = self.client.post(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_patch_lock_mac_authenticated_admin(self): url = "/users/1/locks/1/" payload = dumps({"mac": "66:55:44:33:22:11"}) response = self.client.patch(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) lock = Esloq.objects.get(id=1) self.assertEqual(lock.mac, "00:00:00:00:00:01") self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_put_fcmregistration_authenticated(self): url = "/users/1/fcmregistrations/1/" payload = dumps({"id": 1, "lock_state": False, "lock_id": 1, "user_id": 1, "access_time": 0}) response = self.client.put(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_get_user_by_email_does_not_exist(self): url = "/users/[email protected]/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_delete_fcmregistration_authenticated(self): url = "/users/1/fcmregistration/1/" response = self.client.delete(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_put_user_authenticated(self): url = "/users/1/users/1/" payload = dumps({"id": 1, "email": "*****@*****.**", "first_name": "new", "last_name": "name"}) response = self.client.put(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_put_ticket_authenticated(self): url = "/users/1/locks/1/ticket/" payload = dumps({}) response = self.client.put(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_get_logs_authenticated_as_different_user(self): url = "/users/2/logs/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_delete_ticket_authenticated(self): url = "/users/1/locks/1/ticket/" response = self.client.delete(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_get_log_admin(self): url = "/users/1/logs/1/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_locklockaccesses_authenticated_isadmin(self): url = "/users/1/locks/1/lockaccesses/" response = self.client.get(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
def test_post_log_for_other_user(self): url = "/users/1/logs/" payload = dumps({"lock_state": False, "lock_id": 1, "user_id": 2, "access_time": 0}) response = self.client.post(url, payload, content_type="application/json", HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_delete_lockaccess_admin(self): url = "/users/1/lockaccesses/2/" response = self.client.delete(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
def test_delete_lockaccess_no_access(self): url = "/users/1/lockaccesses/4/" response = self.client.delete(url, HTTP_AUTHORIZATION='Bearer ' + get_valid_token_user1()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)