示例#1
0
    def test_user_auth(self):
        token = str(uuid.uuid4())
        username = str(uuid.uuid4())
        password = str(uuid.uuid4())
        httpretty.register_uri(httpretty.GET,
                               self.url + '/login',
                               content_type='application/json',
                               body=json.dumps({'token': token}))

        api = rest.API(self.url)
        api.login(username, password)
        assert 'login' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['login'][0] == username
        assert 'password' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['password'][0] == password

        httpretty.register_uri(httpretty.GET,
                               self.url + '/anymethod',
                               content_type='application/json',
                               body=json.dumps({'hello': 'world'}))

        api.request('GET', 'anymethod')
        assert 'token' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['token'][0] == token

        httpretty.register_uri(httpretty.GET,
                               self.url + '/logout',
                               content_type='application/json',
                               body=json.dumps({'hello': 'world'}))

        api.logout()
        api.request('GET', 'anymethod')
        assert 'token' not in httpretty.last_request().querystring
示例#2
0
    def test_list_fields(self):
        httpretty.register_uri(httpretty.GET,
                               self.url + '/field/bug',
                               content_type='application/json',
                               body=json.dumps(fixtures.fields))

        api = rest.API(self.url)
        fields = api.list_fields()
        assert len(fields) > 0
        assert httpretty.has_request()
示例#3
0
    def test_list_products(self):
        httpretty.register_uri(httpretty.GET,
                               self.url + '/product',
                               content_type='application/json',
                               body=json.dumps(fixtures.products))

        api = rest.API(self.url)
        products = api.list_products()
        assert len(products) > 0
        assert 'type' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['type'][0] == 'accessible'
示例#4
0
    def test_list_components(self):
        httpretty.register_uri(httpretty.GET,
                               self.url + '/product',
                               content_type='application/json',
                               body=json.dumps(fixtures.products))

        api = rest.API(self.url)
        components = api.list_components(fixtures.product_name)
        assert len(components) > 0
        assert 'names' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['names'][0] == \
            fixtures.product_name
示例#5
0
 def test_bug_get(self):
     httpretty.register_uri(httpretty.GET,
                            self.url + '/bug',
                            content_type='application/json',
                            body=json.dumps(fixtures.bug1))
     api = rest.API(self.url)
     params = {}
     for i in range(10):
         params[str(uuid.uuid4())] = str(uuid.uuid4())
     bugs = api.bug_get(params)
     assert len(bugs) == 1
     for k, v in params.iteritems():
         assert k in httpretty.last_request().querystring
         assert httpretty.last_request().querystring[k][0] == v
示例#6
0
    def test_bug_set_multiple(self):
        httpretty.register_uri(httpretty.PUT,
                               re.compile(self.url + '/bug/(\d+)'),
                               content_type='application/json',
                               body=json.dumps(fixtures.bug1))

        api = rest.API(self.url)
        ids = [12345, 13245, 143443]
        params = {}
        for i in range(10):
            params[str(uuid.uuid4())] = str(uuid.uuid4())
        params['ids'] = ids
        bugs = api.bug_set(params)
        assert len(bugs) == 1
        expected_url = '/rest/bug/' + str(ids[0])
        assert httpretty.last_request().path == expected_url
        for k, v in params.iteritems():
            assert k in httpretty.last_request().parsed_body
            assert httpretty.last_request().parsed_body[k] == v
示例#7
0
    def test_api_key_auth(self):
        api_key = str(uuid.uuid4())
        api = rest.API(self.url, api_key=api_key)

        httpretty.register_uri(httpretty.GET,
                               self.url + '/anymethod',
                               content_type='application/json',
                               body=json.dumps({'hello': 'world'}))

        api.request('GET', 'anymethod')
        assert 'api_key' in httpretty.last_request().querystring
        assert httpretty.last_request().querystring['api_key'][0] == api_key

        httpretty.register_uri(httpretty.GET,
                               self.url + '/logout',
                               content_type='application/json',
                               body=json.dumps({'hello': 'world'}))

        api.logout()
        api.request('GET', 'anymethod')
        assert 'api_key' in httpretty.last_request().querystring