Esempio n. 1
0
    def test_serialize_list(self):
        req = mock.MagicMock()
        req.client_prefers.return_value = "application/json"
        subject = []
        expected = "[]"
        results = helpers.serialize(req, subject)
        self.assertEquals(expected, results)

        subject = [dict(this="that")]
        expected = '[{"this": "that"}]'
        results = helpers.serialize(req, subject)
        self.assertEquals(expected, results)
Esempio n. 2
0
    def test_serialize_list_yaml(self):
        req = mock.MagicMock()
        req.client_prefers.return_value = "application/yaml"
        subject = []
        expected = "[]\n"
        results = helpers.serialize(req, subject)
        self.assertEquals(expected, results)

        subject = [dict(this="that")]
        expected = "- {this: that}\n"
        results = helpers.serialize(req, subject)
        self.assertEquals(expected, results)
Esempio n. 3
0
 def on_get(self, req, resp, org_id):
     try:
         obj = objects.Organization.get_by_slug_or_key(req, org_id)
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_200
     except exc.NotFound:
         self._handle_404(resp, org_id)
Esempio n. 4
0
 def on_get(self, req, resp, domain_id):
     try:
         domain = objects.Domain.get_by_slug_or_key(req, domain_id)
     except exc.NotFound:
         self._handle_404(resp, domain_id)
         return
     repos = domain.get_repos()
     resp.body = helpers.serialize(req, repos)
     resp.status = falcon.HTTP_200
Esempio n. 5
0
 def on_post(self, req, resp):
     try:
         obj = objects.Organization.from_http_req(req)
         obj.save()
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_201
         resp.location = "/organizations/{0}".format(obj.id)
     except exc.BadInput as e:
         self._handle_400(resp, e)
Esempio n. 6
0
 def on_get(self, req, resp, user_id):
     try:
         user = objects.User.get_by_slug_or_key(req, user_id)
     except exc.NotFound:
         self._handle_404(resp, user_id)
         return
     keys = user.get_public_keys()
     resp.body = helpers.serialize(req, keys)
     resp.status = falcon.HTTP_200
Esempio n. 7
0
 def on_get(self, req, resp, group_id):
     try:
         search_spec = search.SearchSpec.from_http_req(req)
         search_spec.filter_by(groupId=group_id)
         users = objects.Group.get_users(search_spec)
         resp.body = helpers.serialize(req, users)
         resp.status = falcon.HTTP_200
     except exc.NotFound:
         self._handle_404(resp, group_id)
Esempio n. 8
0
 def on_post(self, req, resp):
     try:
         obj = objects.Domain.from_http_req(req)
         obj.save()
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_201
         resp.location = "/domains/{0}".format(obj.id)
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 9
0
 def on_post(self, req, resp):
     try:
         obj = rest_objects.from_http_req(objects.User, req)
         self.store.save(obj)
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_201
         resp.location = "/users/{0}".format(obj.uuid)
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 10
0
 def on_get(self, req, resp):
     versions = [
         {
             'major': '1',
             'minor': '0',
             'current': True
         }
     ]
     resp.body = helpers.serialize(req, versions)
     resp.status = falcon.HTTP_302
Esempio n. 11
0
 def on_get(self, req, resp, user_id):
     try:
         search_spec = search.SearchSpec.from_http_req(req)
         obj = self.store.get_by_slug_or_key(objects.User,
                                             user_id,
                                             search_spec)
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_200
     except exc.NotFound:
         self._handle_404(resp, user_id)
Esempio n. 12
0
 def on_put(self, req, resp, user_id):
     try:
         obj = rest_objects.from_http_req(objects.User, req)
         self.store.save(obj)
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_200
         resp.location = "/users/{0}".format(obj.uuid)
     except exc.BadInput as e:
         self._handle_400(resp, user_id, e)
     except exc.NotFound:
         self._handle_404(resp, user_id)
Esempio n. 13
0
 def on_put(self, req, resp, domain_id):
     try:
         obj = objects.Domain.from_http_req(req)
         obj.update()
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_200
         resp.location = "/domains/{0}".format(obj.id)
     except exc.BadInput as e:
         self._handle_400(resp, domain_id, e)
     except exc.NotFound:
         self._handle_404(resp, domain_id)
Esempio n. 14
0
 def on_get(self, req, resp, group_id):
     try:
         search_spec = search.SearchSpec.from_http_req(req)
         group = self.store.get_by_slug_or_key(objects.Group,
                                               group_id,
                                               search_spec)
     except exc.NotFound:
         self._handle_404(resp, group_id)
         return
     users = group.get_users()
     resp.body = helpers.serialize(req, users)
     resp.status = falcon.HTTP_200
Esempio n. 15
0
 def on_get(self, req, resp, user_id, fingerprint):
     try:
         user = objects.User.get_by_slug_or_key(req, user_id)
     except exc.NotFound:
         self._handle_404_user(resp, user_id)
         return
     try:
         search_spec = search.SearchSpec.from_http_req(req)
         search_spec.filter_by(userId=user.id, fingerprint=fingerprint)
         key = objects.UserPublicKey.get_one(search_spec)
         resp.body = helpers.serialize(req, key)
         resp.status = falcon.HTTP_200
     except exc.NotFound:
         self._handle_404(resp, user_id, fingerprint)
Esempio n. 16
0
 def on_post(self, req, resp, user_id):
     try:
         user = objects.User.get_by_slug_or_key(req, user_id)
     except exc.NotFound:
         self._handle_404(resp, user_id)
         return
     try:
         key = objects.UserPublicKey.from_http_req(req, userId=user.id)
         key.save()
         resp.body = helpers.serialize(req, key)
         resp.status = falcon.HTTP_201
         resp.location = "/users/{0}/keys/{1}".format(user.id, key.id)
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 17
0
 def on_post(self, req, resp, org_id):
     try:
         group = objects.Group.from_http_req(req, rootOrganizationId=org_id)
         group.save()
         resp.body = helpers.serialize(req, group)
         resp.status = falcon.HTTP_201
         resp.location = "/groups/{0}".format(group.id)
     except exc.NotFound:
         msg = "An organization with ID or slug {0} could not be found."
         msg = msg.format(org_id)
         resp.body = msg
         resp.status = falcon.HTTP_404
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 18
0
 def on_post(self, req, resp, domain_id):
     try:
         domain = objects.Domain.get_by_slug_or_key(req, domain_id)
     except exc.NotFound:
         self._handle_404(resp, domain_id)
         return
     try:
         repo = objects.Repository.from_http_req(req, domainId=domain.id)
         repo.save()
         resp.body = helpers.serialize(req, repo)
         resp.status = falcon.HTTP_201
         resp.location = "/domains/{0}/repos/{1}".format(domain_id, repo.id)
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 19
0
 def on_post(self, req, resp, user_id):
     try:
         search_spec = search.SearchSpec.from_http_req(req)
         user = self.store.get_by_slug_or_key(objects.User,
                                              user_id,
                                              search_spec)
     except exc.NotFound:
         self._handle_404(resp, user_id)
         return
     try:
         obj = rest_objects.from_http_req(objects.UserPublicKey,
                                          req, user_uuid=user.uuid)
         self.store.save(obj)
         resp.body = helpers.serialize(req, obj)
         resp.status = falcon.HTTP_201
         resp.location = "/users/{0}/keys/{1}".format(user.uuid,
                                                      obj.fingerprint)
     except exc.BadInput as e:
         resp.body = "Bad input: {0}".format(e)
         resp.status = falcon.HTTP_400
Esempio n. 20
0
    def on_get(self, req, resp, domain_id, repo_name):
        try:
            domain = objects.Domain.get_by_slug_or_key(req, domain_id)
        except exc.NotFound:
            msg = "A domain with ID or slug {0} could not be found."
            msg = msg.format(domain_id)
            resp.body = msg
            resp.status = falcon.HTTP_404
            return

        try:
            search_spec = search.SearchSpec.from_http_req(req)
            search_spec.filter_by(domainId=domain.id)
            search_spec.filter_or(name=repo_name, id=repo_name)
            repo = objects.Repository.get_one(search_spec)
            resp.body = helpers.serialize(req, repo)
            resp.status = falcon.HTTP_200
        except exc.NotFound:
            msg = "A repository with ID or name {0} could not be found."
            msg = msg.format(repo_name)
            resp.body = msg
            resp.status = falcon.HTTP_404
            return
Esempio n. 21
0
 def test_serialize_bad_mime_type(self):
     req = mock.MagicMock()
     req.client_prefers.return_value = None
     with testtools.ExpectedException(fexc.HTTPNotAcceptable):
         helpers.serialize(req, {})
Esempio n. 22
0
 def on_get(self, req, resp):
     search_spec = search.SearchSpec.from_http_req(req)
     objs = self.store.get_many(objects.User, search_spec)
     resp.body = helpers.serialize(req, objs)
     resp.status = falcon.HTTP_200
Esempio n. 23
0
 def on_get(self, req, resp, org_id):
     search_spec = search.SearchSpec.from_http_req(req)
     search_spec.filter_by(rootOrganizationId=org_id)
     groups = objects.Group.get_many(search_spec)
     resp.body = helpers.serialize(req, groups)
     resp.status = falcon.HTTP_200