def test_upload_older(self): ## # We want to accept an older upload, this is diff than most of the other API tests ## found = Rules.objects() self.assertEquals(len(found), 0) version = "1" data = "here's the data" newer = Rules() newer.version = version newer.data = data newer.save() # <-- main diff from above test_single.... older = Rules() older.version = "0" older.data = "older data" example = {"objects": [older]} post_data = utils.obj_to_json(example) LOG.info("Calling api for rules import with post data: '%s'" % (post_data)) resp = self.raw_api_client.post( "/api/v1/rules/", format="json", data=post_data, SSL_CLIENT_CERT=self.expected_valid_splice_server_identity_pem, ) LOG.info("Status Code: %s, Response: %s" % (resp.status_code, resp)) self.assertEquals(resp.status_code, 204) # Now check that the server api saved the object as expected found = Rules.objects() self.assertEquals(len(found), 2) self.assertEquals(found[0].version, newer.version) self.assertEquals(found[0].data, newer.data)
def test_upload_newer(self): ## # A newer version will be saved, but not it doesn't delete the older, this is diff than other API tests ## found = Rules.objects() self.assertEquals(len(found), 0) older = Rules() older.version = "0" older.data = "older data" older.save() version = "1" data = "here's the data" newer = Rules() newer.version = version newer.data = data example = {"objects": [newer]} post_data = utils.obj_to_json(example) LOG.info("Calling api for rules import with post data: '%s'" % (post_data)) resp = self.raw_api_client.post( "/api/v1/rules/", format="json", data=post_data, SSL_CLIENT_CERT=self.expected_valid_splice_server_identity_pem, ) LOG.info("Status Code: %s, Response: %s" % (resp.status_code, resp)) self.assertEquals(resp.status_code, 204) # Now check that the server api saved the object as expected found = Rules.objects() self.assertEquals(len(found), 2) for item in found: self.assertIn(item.version, (newer.version, older.version))
def test_uploading_duplicate(self): found = Rules.objects() self.assertEquals(len(found), 0) version = "test version a.b" data = "here's the data" r = Rules() r.version = version r.data = data r.save() # <-- main diff from above test_single.... example = {"objects": [r]} post_data = utils.obj_to_json(example) LOG.info("Calling api for rules import with post data: '%s'" % (post_data)) resp = self.raw_api_client.post( "/api/v1/rules/", format="json", data=post_data, SSL_CLIENT_CERT=self.expected_valid_splice_server_identity_pem, ) LOG.info("Status Code: %s, Response: %s" % (resp.status_code, resp)) self.assertEquals(resp.status_code, 204) # Now check that the server api saved the object as expected found = Rules.objects() self.assertEquals(len(found), 1) # <-- ensure we didn't save a dup self.assertEquals(found[0].version, version) self.assertEquals(found[0].data, data)
def test_uploading_single_rules(self): found = Rules.objects() self.assertEquals(len(found), 0) version = "test version a.b" data = "here's the data" r = Rules() r.version = version r.data = data example = {"objects":[r]} post_data = utils.obj_to_json(example) LOG.info("Calling api for rules import with post data: '%s'" % (post_data)) resp = self.raw_api_client.post('/api/v1/rules/', format='json', data=post_data, SSL_CLIENT_CERT=self.expected_valid_splice_server_identity_pem) LOG.info("Status Code: %s, Response: %s" % (resp.status_code, resp)) self.assertEquals(resp.status_code, 204) # Now check that the server api saved the object as expected found = Rules.objects() self.assertEquals(len(found), 1) self.assertEquals(found[0].version, version) self.assertEquals(found[0].data, data)