示例#1
0
    def test_generate_spore_description(self):

        coffees = Service(name='Coffees', path='/coffee')
        coffee = Service(name='coffee', path='/coffee/{bar}/{id}')

        @coffees.post()
        def post_coffees(request):
            """Post information about the coffee"""
            return "ok"

        self._define_coffee_methods(coffee)
        self._define_coffee_methods(coffees)

        services = get_services(names=('coffee', 'Coffees'))
        spore = generate_spore_description(services,
                                           name="oh yeah",
                                           base_url="http://localhost/",
                                           version="1.0")

        # basic fields
        self.assertEqual(spore['name'], "oh yeah")
        self.assertEqual(spore['base_url'], "http://localhost/")
        self.assertEqual(spore['version'], "1.0")

        # methods
        methods = spore['methods']
        self.assertIn('get_coffees', methods)
        self.assertDictEqual(methods['get_coffees'], {
            'path': '/coffee',
            'method': 'GET',
            'formats': ['json'],
        })

        self.assertIn('post_coffees', methods)
        self.assertDictEqual(
            methods['post_coffees'], {
                'path': '/coffee',
                'method': 'POST',
                'formats': ['json'],
                'description': post_coffees.__doc__
            })

        self.assertIn('get_coffee', methods)
        self.assertDictEqual(
            methods['get_coffee'], {
                'path': '/coffee/:bar/:id',
                'method': 'GET',
                'formats': ['json'],
                'required_params': ['bar', 'id']
            })
示例#2
0
    def test_generate_spore_description(self):

        coffees = Service(name='Coffees', path='/coffee')
        coffee = Service(name='coffee', path='/coffee/{bar}/{id}')

        @coffees.post()
        def post_coffees(request):
            """Post information about the coffee"""
            return "ok"

        self._define_coffee_methods(coffee)
        self._define_coffee_methods(coffees)

        services = get_services(names=('coffee', 'Coffees'))
        spore = generate_spore_description(
                services, name="oh yeah",
                base_url="http://localhost/", version="1.0")

        # basic fields
        self.assertEqual(spore['name'], "oh yeah")
        self.assertEqual(spore['base_url'], "http://localhost/")
        self.assertEqual(spore['version'], "1.0")

        # methods
        methods = spore['methods']
        self.assertIn('get_coffees', methods)
        self.assertDictEqual(methods['get_coffees'], {
            'path': '/coffee',
            'method': 'GET',
            'formats': ['json'],
            })

        self.assertIn('post_coffees', methods)
        self.assertDictEqual(methods['post_coffees'], {
            'path': '/coffee',
            'method': 'POST',
            'formats': ['json'],
            'description': post_coffees.__doc__
            })

        self.assertIn('get_coffee', methods)
        self.assertDictEqual(methods['get_coffee'], {
            'path': '/coffee/:bar/:id',
            'method': 'GET',
            'formats': ['json'],
            'required_params': ['bar', 'id']
            })
示例#3
0
    def test_rxjson_spore(self):
        rx = Rx.Factory({'register_core_types': True})

        coffees = Service(name='Coffees', path='/coffee')
        coffee = Service(name='coffee', path='/coffee/{bar}/{id}')

        self._define_coffee_methods(coffee)
        self._define_coffee_methods(coffees)

        services = get_services(names=('coffee', 'Coffees'))
        spore = generate_spore_description(
                services, name="oh yeah",
                base_url="http://localhost/", version="1.0")

        with open(os.path.join(HERE, 'spore_validation.rx')) as f:
            spore_json_schema = json.loads(f.read())
            spore_schema = rx.make_schema(spore_json_schema)
            self.assertTrue(spore_schema.check(spore))
示例#4
0
def get_spore(request):
    services = get_services()
    return generate_spore_description(services, 'Service name', request.application_url, VERSION)
示例#5
0
文件: spore.py 项目: lttga/op2
def get_spore(request):
    services = get_services()
    return generate_spore_description(services, "Service name", request.application_url, VERSION)
示例#6
0
def get_spore(request):
    services = get_services()
    return generate_spore_description(services, 'Service name', request.application_url, request.registry.api_version)
示例#7
0
def get_spore(request):
    return generate_spore_description(get_services(), 'daybed',
              request.application_url, VERSION)
示例#8
0
def get_spore(request):
    services = get_services()
    return generate_spore_description(services, 'Service name', request.application_url, request.registry.settings.get('api_version', VERSION))
示例#9
0
def get_spore(request):
    services = get_services()
    return generate_spore_description(
        services, 'Service name', request.application_url,
        request.registry.settings.get('api_version', VERSION))