def test_get_schema_invalid_type(self): app = ApplicationAPI(self.portal, '') type_ = 'Bingo Card' self.logout() try: app.get_schema(type_) except ValueError: # The expected result. pass except Exception, e: self.fail(e)
def test_anonymous_get_schema(self): app = ApplicationAPI(self.portal, '') type_ = 'Event' self.logout() try: app.get_schema(type_) except Unauthorized: # The expected result. pass except Exception, e: self.fail(e)
def test_get_schema_invalid_type(self): app = ApplicationAPI(self.portal, '') type_ = 'Bingo Card' self.logout() try: app.get_schema(type_) except ValueError: # The expected result. pass except Exception, e: self.fail(e)
def test_anonymous_get_schema(self): app = ApplicationAPI(self.portal, '') type_ = 'Event' self.logout() try: app.get_schema(type_) except Unauthorized: # The expected result. pass except Exception, e: self.fail(e)
def test_get_schema_with_path(self): resp = Response(FauxResponse()) app = ApplicationAPI(self.portal, '') type_ = 'Link' self.login('test_user_1_') schema_data = app.get_schema(type_, "Members") resp.setBody(schema_data) schema_resp, method = xmlrpclib.loads(resp._body) self.logout() schema_results = schema_resp[0] expected_results = {'excludeFromNav': {'required': False, 'type': 'boolean'}, 'remoteUrl': {'required': True, 'type': 'string'}, 'description': {'required': False, 'type': 'text'}, 'contributors': {'required': False, 'type': 'lines'}, 'title': {'required': 1, 'type': 'string'}, 'language': {'required': False, 'type': 'string'}, 'rights': {'required': False, 'type': 'text'}, 'modification_date': {'required': False, 'type': 'datetime'}, 'location': {'required': False, 'type': 'string'}, 'creation_date': {'required': False, 'type': 'datetime'}, 'effectiveDate': {'required': False, 'type': 'datetime'}, 'relatedItems': {'required': False, 'type': 'reference'}, 'expirationDate': {'required': False, 'type': 'datetime'}, 'allowDiscussion': {'required': False, 'type': 'boolean'}, 'creators': {'required': False, 'type': 'lines'}, 'id': {'required': 0, 'type': 'string'}, 'subject': {'required': False, 'type': 'lines'}} self.failUnlessEqual(len(schema_results), len(expected_results)) for attr, value in expected_results.iteritems(): self.failUnlessEqual(value, schema_results[attr], "%s != %s for schema attribute '%s'" % (value, schema_results[attr], attr))
def test_get_schema_with_path(self): resp = Response(FauxResponse()) app = ApplicationAPI(self.portal, '') type_ = 'Link' self.login('test_user_1_') schema_data = app.get_schema(type_, "Members") resp.setBody(schema_data) schema_resp, method = xmlrpclib.loads(resp._body) self.logout() schema_results = schema_resp[0] expected_results = { 'excludeFromNav': { 'required': False, 'type': 'boolean' }, 'remoteUrl': { 'required': True, 'type': 'string' }, 'description': { 'required': False, 'type': 'text' }, 'contributors': { 'required': False, 'type': 'lines' }, 'title': { 'required': 1, 'type': 'string' }, 'language': { 'required': False, 'type': 'string' }, 'rights': { 'required': False, 'type': 'text' }, 'modification_date': { 'required': False, 'type': 'datetime' }, 'location': { 'required': False, 'type': 'string' }, 'creation_date': { 'required': False, 'type': 'datetime' }, 'effectiveDate': { 'required': False, 'type': 'datetime' }, 'relatedItems': { 'required': False, 'type': 'reference' }, 'expirationDate': { 'required': False, 'type': 'datetime' }, 'allowDiscussion': { 'required': False, 'type': 'boolean' }, 'creators': { 'required': False, 'type': 'lines' }, 'id': { 'required': 0, 'type': 'string' }, 'subject': { 'required': False, 'type': 'lines' } } self.failUnlessEqual(len(schema_results), len(expected_results)) for attr, value in expected_results.iteritems(): self.failUnlessEqual( value, schema_results[attr], "%s != %s for schema attribute '%s'" % (value, schema_results[attr], attr))