Beispiel #1
0
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)
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
0
 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()
Beispiel #9
0
 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()
Beispiel #10
0
 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)