def test_delete_image_without_logging_in(self): user = add_user('user', 'pass') image = add_image('image', user=user) add_box(10, 10, 20, 20, 'dog', image=image) add_box(20, 20, 30, 30, 'cat', image=image) response = self.client.delete( f'/api/images/{image.name.replace(".jpg", "")}', follow_redirects=True) self.assertEqual(response.status_code, 403) data = json.loads(response.data.decode()) self.assertEqual(data['status'], 'fail') self.assertEqual(data['message'], 'Provide a valid auth token.')
def test_add_box(self): box = add_box(x_min=0.0, y_min=1.0, x_max=2.0, y_max=3.0, label='dog') self.assertEqual(box.x_min, 0.0) self.assertEqual(box.y_min, 1.0) self.assertEqual(box.x_max, 2.0) self.assertEqual(box.y_max, 3.0) self.assertEqual(box.label, 'dog')
def test_delete_image_after_logging_in(self): user = add_user(username='******', password='******') image = add_image('image.jpg', user=user) add_box(10, 10, 20, 20, 'dog', image=image) add_box(20, 20, 30, 30, 'cat', image=image) auth_token = user.encode_auth_token().decode() image_name = image.name.replace(".jpg", "") response = self.client.delete( f'/api/images/{image_name}', follow_redirects=True, headers={'Authorization': f'Bearer {auth_token}'}) self.assertEqual(response.status_code, 200) data = json.loads(response.data.decode()) self.assertEqual(data['status'], 'success') self.assertEqual(data['message'], 'Image was successfully deleted.') self.assertEqual(Image.query.count(), 0) self.assertEqual(Box.query.count(), 0)
def test_add_box_with_image(self): image = add_image(name=sha256('test_name'.encode()).hexdigest()) box = add_box(x_min=0.0, y_min=1.0, x_max=2.0, y_max=3.0, label='dog', image=image) self.assertEqual(box.x_min, 0.0) self.assertEqual(box.y_min, 1.0) self.assertEqual(box.x_max, 2.0) self.assertEqual(box.y_max, 3.0) self.assertEqual(box.label, 'dog') self.assertIsNotNone(box.image) self.assertEqual(box.image.name, sha256('test_name'.encode()).hexdigest())
def test_box_to_json(self): box = add_box(x_min=0.0, y_min=1.0, x_max=2.0, y_max=3.0, label='dog') self.assertTrue(isinstance(box.to_json(), dict))