class Controller(object): """Version 1 API controller root.""" plans = plan.PlansController() assemblies = assembly.AssembliesController() services = service.ServicesController() components = component.ComponentsController() extensions = extension.ExtensionsController() operations = operation.OperationsController() sensors = sensor.SensorsController() language_packs = language_pack.LanguagePacksController() pipelines = pipeline.PipelinesController() public = public.PublicController() infrastructure = infrastructure.InfrastructureController() @exception.wrap_wsme_controller_exception @wsme_pecan.wsexpose(Platform) def index(self): host_url = '%s/%s' % (pecan.request.host_url, 'v1') return Platform(uri=host_url, name='solum', type='platform', description='solum native implementation', implementation_version=version.version_string(), plans_uri='%s/plans' % host_url, assemblies_uri='%s/assemblies' % host_url, services_uri='%s/services' % host_url, components_uri='%s/components' % host_url, extensions_uri='%s/extensions' % host_url, language_packs_uri='%s/language_packs' % host_url)
def test_plans_post_nodata(self, handler_mock, resp_mock, request_mock): request_mock.body = '' request_mock.content_type = 'application/json' handler_create = handler_mock.return_value.create handler_create.return_value = fakes.FakePlan() plan.PlansController().post() self.assertEqual(400, resp_mock.status)
def test_plans_post_invalid_yaml(self, handler_mock, resp_mock, request_mock): request_mock.body = 'invalid yaml file' request_mock.content_type = 'application/x-yaml' handler_create = handler_mock.return_value.create handler_create.return_value = fakes.FakePlan() plan.PlansController().post() self.assertEqual(400, resp_mock.status)
def test_plans_post_version_not_found_yaml(self, PlanHandler, resp_mock, request_mock): request_mock.body = 'name: ex_plan1\ndescription: dsc1.' request_mock.content_type = 'application/x-yaml' hand_create = PlanHandler.return_value.create hand_create.return_value = fakes.FakePlan() plan.PlansController().post() self.assertEqual(400, resp_mock.status)
def test_plans_post_version_not_found_json(self, PlanHandler, resp_mock, request_mock): json_update = {'name': 'foo'} request_mock.body = json.dumps(json_update) request_mock.content_type = 'application/json' hand_create = PlanHandler.return_value.create hand_create.return_value = fakes.FakePlan() plan.PlansController().post() self.assertEqual(400, resp_mock.status)
def test_plans_post_yaml(self, PlanHandler, resp_mock, request_mock): request_mock.body = 'version: 1\nname: ex_plan1\ndescription: dsc1.' request_mock.content_type = 'application/x-yaml' hand_create = PlanHandler.return_value.create hand_create.return_value = fakes.FakePlan() plan.PlansController().post() hand_create.assert_called_with({'name': 'ex_plan1', 'description': 'dsc1.'}) self.assertEqual(201, resp_mock.status)
def test_plans_post_empty_yaml(self, handler_mock, resp_mock, request_mock, mock_policy): mock_policy.return_value = True request_mock.body = '{}' request_mock.content_type = 'application/x-yaml' handler_create = handler_mock.return_value.create handler_create.return_value = fakes.FakePlan() plan.PlansController().post() self.assertEqual(400, resp_mock.status)
def test_plans_get_all_json(self, PlanHandler, resp_mock, request_mock): hand_get = PlanHandler.return_value.get_all fake_plan = fakes.FakePlan() hand_get.return_value = [fake_plan] resp = plan.PlansController().get_all() self.assertIsNotNone(resp) resp_json = json.loads(resp) self.assertEqual(fake_plan.raw_content['name'], resp_json[0]['name']) self.assertEqual(200, resp_mock.status) hand_get.assert_called_with()
def test_plans_get_all_yaml(self, PlanHandler, resp_mock, request_mock): hand_get = PlanHandler.return_value.get_all request_mock.accept = 'application/x-yaml' fake_plan = fakes.FakePlan() hand_get.return_value = [fake_plan] resp = plan.PlansController().get_all() self.assertIsNotNone(resp) resp_yml = yaml.load(resp) self.assertEqual(fake_plan.raw_content['name'], resp_yml[0]['name']) self.assertEqual(200, resp_mock.status) hand_get.assert_called_with()
def test_plans_post_json(self, PlanHandler, resp_mock, request_mock, mock_policy): mock_policy.return_value = True json_update = {'name': 'foo', 'version': '1'} request_mock.body = json.dumps(json_update) request_mock.content_type = 'application/json' hand_create = PlanHandler.return_value.create hand_create.return_value = fakes.FakePlan() plan.PlansController().post() hand_create.assert_called_with({'name': 'foo'}) self.assertEqual(201, resp_mock.status)