Пример #1
0
 def test_can_handle_multiple_results(self, mock: MagicMock):
     mock.return_value = [
         create_service('test-algo-1'),
         create_service('test-algo-2'),
         create_service('test-algo-3'),
     ]
     items = algorithms.list_all()
     self.assertEqual(['test-algo-1', 'test-algo-2', 'test-algo-3'], list(map(lambda a: a.service_id, items)))
Пример #2
0
 def test_discards_services_with_invalid_max_cloud_cover(self, mock: MagicMock):
     service = create_service()
     service.metadata['metadata']['ImgReq-cloudCover'] = 'lolwut'
     mock.return_value = [service]
     self.assertEqual([], algorithms.list_all())
Пример #3
0
 def test_discards_services_missing_version(self, mock: MagicMock):
     service = create_service()
     service.metadata.pop('version')
     mock.return_value = [service]
     self.assertEqual([], algorithms.list_all())
Пример #4
0
 def test_discards_services_missing_max_cloud_cover(self, mock: MagicMock):
     service = create_service()
     service.metadata['metadata'].pop('ImgReq-cloudCover')
     mock.return_value = [service]
     self.assertEqual([], algorithms.list_all())
Пример #5
0
 def test_discards_services_missing_interface(self, mock: MagicMock):
     service = create_service()
     service.metadata['metadata'].pop('Interface')
     mock.return_value = [service]
     self.assertEqual([], algorithms.list_all())
Пример #6
0
 def test_extracts_correct_version(self, mock: MagicMock):
     mock.return_value = [create_service()]
     algo = algorithms.list_all().pop()
     self.assertEqual('test-version', algo.version)
Пример #7
0
 def test_extracts_correct_service_id(self, mock: MagicMock):
     mock.return_value = [create_service()]
     algo = algorithms.list_all().pop()
     self.assertEqual('test-service-id', algo.service_id)
Пример #8
0
 def test_extracts_correct_max_cloud_cover(self, mock: MagicMock):
     mock.return_value = [create_service()]
     algo = algorithms.list_all().pop()
     self.assertEqual(42, algo.max_cloud_cover)
Пример #9
0
 def test_extracts_correct_interface(self, mock: MagicMock):
     mock.return_value = [create_service()]
     algo = algorithms.list_all().pop()
     self.assertEqual('test-interface', algo.interface)
Пример #10
0
 def test_can_handle_empty_result_set(self, mock: MagicMock):
     mock.return_value = []
     self.assertEqual([], algorithms.list_all())
Пример #11
0
 def test_returns_list_of_algorithms(self, mock: MagicMock):
     mock.return_value = [create_service()]
     items = algorithms.list_all()
     self.assertIsInstance(items, list)
     self.assertIsInstance(items[0], algorithms.Algorithm)
Пример #12
0
 def test_requests_algorithms_from_piazza(self, mock: MagicMock):
     algorithms.list_all()
     self.assertEqual(('^BF_Algo_',), mock.call_args[0])
Пример #13
0
 def test_throws_when_piazza_throws(self, mock: MagicMock):
     mock.side_effect = piazza.Unauthorized()
     with self.assertRaises(piazza.Unauthorized):
         algorithms.list_all()
Пример #14
0
def list_algorithms():
    algorithms = _algorithms.list_all()
    return flask.jsonify({
        'algorithms': [a.serialize() for a in algorithms],
    })