コード例 #1
0
    def test_client_has_dataset_returns_true(self):
        client = Client(name='Client', ip_address=IP_ADDRESS)
        dataset = Dataset(filename=FILENAME)
        client.datasets = [dataset]

        result = DbHelper.client_has_dataset(client, dataset)
        self.assertTrue(result)
コード例 #2
0
    def test_dataset_not_created_because_already_exists(self):
        filename = 'test.txt'
        client = Client(name='Client', ip_address='127.0.0.1')
        db.session.add(client)
        client.datasets = [Dataset(filename=filename)]
        db.session.commit()

        response = self.client.post('/datasets', data=json.dumps({'client': client.id, 'filename': filename}),
                                    content_type='application/json')

        assert_status_code_equal(response, status.HTTP_409_CONFLICT)
コード例 #3
0
    def test_cannot_patch_changing_owner_because_not_exists(self):
        client = Client(name='Client1', ip_address='127.0.0.1')
        dataset = Dataset(filename='test.txt')
        client.datasets = [dataset]
        db.session.add(client)
        db.session.commit()

        response = self.client.patch('/datasets/' + str(dataset.id),
                                     data=json.dumps({'client': 42}),
                                     content_type='application/json')

        assert_status_code_equal(response, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(client.datasets, [dataset])
コード例 #4
0
 def test_details_json(self):
     client = Client(name=self.name, ip_address=self.ip_address, id=self.id)
     client.datasets = [
         Dataset(filename='foo.bar', id=1),
         Dataset(filename='test', id=3)
     ]
     self.assertDictEqual(
         client.details_json(), {
             'name': self.name,
             'ip_address': self.ip_address,
             'id': self.id,
             'datasets': [1, 3]
         })
コード例 #5
0
    def test_get_nonempty_datasets_list(self):
        client = Client(name='Client', ip_address='127.0.0.1')
        first_dataset = Dataset(filename='test.mp3')
        second_dataset = Dataset(filename='movie.mp4')
        client.datasets = [first_dataset, second_dataset]
        db.session.add(client)
        db.session.commit()

        response = self.client.get('/datasets')
        response_json = response.get_json()

        assert_success(response)
        self.assertEqual(len(response_json), 2)
        self.assertDictEqual(response_json[0], first_dataset.json())
        self.assertDictEqual(response_json[1], second_dataset.json())
コード例 #6
0
    def test_patch_changing_owner_of_dataset(self):
        client1 = Client(name='Client1', ip_address='127.0.0.1')
        client2 = Client(name='Client2', ip_address='127.0.0.2')
        dataset = Dataset(filename='test.txt')
        client1.datasets = [dataset]
        db.session.add_all([client1, client2])
        db.session.commit()

        response = self.client.patch('/datasets/' + str(dataset.id),
                                     data=json.dumps({'client': client2.id}),
                                     content_type='application/json')

        assert_status_code_equal(response, status.HTTP_204_NO_CONTENT)
        self.assertEqual(client1.datasets, [])
        self.assertEqual(client2.datasets, [dataset])
        self.assertEqual(dataset.client, client2)