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)))
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())
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())
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())
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())
def test_extracts_correct_version(self, mock: MagicMock): mock.return_value = [create_service()] algo = algorithms.list_all().pop() self.assertEqual('test-version', algo.version)
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)
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)
def test_extracts_correct_interface(self, mock: MagicMock): mock.return_value = [create_service()] algo = algorithms.list_all().pop() self.assertEqual('test-interface', algo.interface)
def test_can_handle_empty_result_set(self, mock: MagicMock): mock.return_value = [] self.assertEqual([], algorithms.list_all())
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)
def test_requests_algorithms_from_piazza(self, mock: MagicMock): algorithms.list_all() self.assertEqual(('^BF_Algo_',), mock.call_args[0])
def test_throws_when_piazza_throws(self, mock: MagicMock): mock.side_effect = piazza.Unauthorized() with self.assertRaises(piazza.Unauthorized): algorithms.list_all()
def list_algorithms(): algorithms = _algorithms.list_all() return flask.jsonify({ 'algorithms': [a.serialize() for a in algorithms], })