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)
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)
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)
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
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)
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
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)
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
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
def on_get(self, req, resp): versions = [ { 'major': '1', 'minor': '0', 'current': True } ] resp.body = helpers.serialize(req, versions) resp.status = falcon.HTTP_302
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)
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)
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)
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
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)
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
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
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
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
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
def test_serialize_bad_mime_type(self): req = mock.MagicMock() req.client_prefers.return_value = None with testtools.ExpectedException(fexc.HTTPNotAcceptable): helpers.serialize(req, {})
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
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