Add tests for limit=0 routes
Passing ?limit=0 to the blueprints/list, blueprints/changes,
projects/list, modules/list should always return the total possible
results, not 0.
Also move the composer-cli test_diff to the end so that it will work
consistently. Do this by naming it test_z_diff.
(cherry picked from commit 972b5c4142
)
This commit is contained in:
parent
187cd935df
commit
8838ee12bc
@ -73,21 +73,6 @@ class BlueprintsTest(unittest.TestCase):
|
|||||||
self.assertTrue("example-http-server" in output)
|
self.assertTrue("example-http-server" in output)
|
||||||
self.assertTrue("Recipe example-http-server, version 0.0.1 saved." in output)
|
self.assertTrue("Recipe example-http-server, version 0.0.1 saved." in output)
|
||||||
|
|
||||||
@unittest.skipUnless(os.path.exists("/run/weldr/api.socket"), "Test requires a running API server")
|
|
||||||
def test_diff(self):
|
|
||||||
"""blueprints diff"""
|
|
||||||
# Get the oldest commit, it should be 2nd to last line
|
|
||||||
with captured_output() as (out, _):
|
|
||||||
rc = blueprints_changes("/run/weldr/api.socket", 0, ["example-http-server"], show_json=False)
|
|
||||||
output = out.getvalue().strip().splitlines()
|
|
||||||
first_commit = output[-2].split()[1]
|
|
||||||
|
|
||||||
with captured_output() as (out, _):
|
|
||||||
rc = blueprints_diff("/run/weldr/api.socket", 0, ["example-http-server", first_commit, "HEAD"], show_json=False)
|
|
||||||
output = out.getvalue().strip()
|
|
||||||
self.assertTrue(rc == 0)
|
|
||||||
self.assertTrue("Changed Version" in output)
|
|
||||||
|
|
||||||
@unittest.skipUnless(os.path.exists("/run/weldr/api.socket"), "Test requires a running API server")
|
@unittest.skipUnless(os.path.exists("/run/weldr/api.socket"), "Test requires a running API server")
|
||||||
def test_save_0(self):
|
def test_save_0(self):
|
||||||
"""blueprints save"""
|
"""blueprints save"""
|
||||||
@ -172,3 +157,20 @@ class BlueprintsTest(unittest.TestCase):
|
|||||||
"""blueprints workspace"""
|
"""blueprints workspace"""
|
||||||
rc = blueprints_push("/run/weldr/api.socket", 0, ["example-http-server.toml"], show_json=False)
|
rc = blueprints_push("/run/weldr/api.socket", 0, ["example-http-server.toml"], show_json=False)
|
||||||
self.assertTrue(rc == 0)
|
self.assertTrue(rc == 0)
|
||||||
|
|
||||||
|
# XXX MUST COME LAST
|
||||||
|
# XXX which is what _z_ ensures
|
||||||
|
@unittest.skipUnless(os.path.exists("/run/weldr/api.socket"), "Test requires a running API server")
|
||||||
|
def test_z_diff(self):
|
||||||
|
"""blueprints diff"""
|
||||||
|
# Get the oldest commit, it should be 2nd to last line
|
||||||
|
with captured_output() as (out, _):
|
||||||
|
rc = blueprints_changes("/run/weldr/api.socket", 0, ["example-http-server"], show_json=False)
|
||||||
|
output = out.getvalue().strip().splitlines()
|
||||||
|
first_commit = output[-2].split()[1]
|
||||||
|
|
||||||
|
with captured_output() as (out, _):
|
||||||
|
rc = blueprints_diff("/run/weldr/api.socket", 0, ["example-http-server", first_commit, "HEAD"], show_json=False)
|
||||||
|
output = out.getvalue().strip()
|
||||||
|
self.assertTrue(rc == 0)
|
||||||
|
self.assertTrue("Changed Version" in output)
|
||||||
|
@ -141,6 +141,13 @@ class ServerTestCase(unittest.TestCase):
|
|||||||
data = json.loads(resp.data)
|
data = json.loads(resp.data)
|
||||||
self.assertEqual(data, list_dict)
|
self.assertEqual(data, list_dict)
|
||||||
|
|
||||||
|
# Make sure limit=0 still returns the correct total
|
||||||
|
resp = self.server.get("/api/v0/blueprints/list?limit=0")
|
||||||
|
data = json.loads(resp.data)
|
||||||
|
self.assertEqual(data["limit"], 0)
|
||||||
|
self.assertEqual(data["offset"], 0)
|
||||||
|
self.assertEqual(data["total"], list_dict["total"])
|
||||||
|
|
||||||
def test_03_blueprints_info_1(self):
|
def test_03_blueprints_info_1(self):
|
||||||
"""Test the /api/v0/blueprints/info route with one blueprint"""
|
"""Test the /api/v0/blueprints/info route with one blueprint"""
|
||||||
info_dict_1 = {"changes":[{"changed":False, "name":"example-http-server"}],
|
info_dict_1 = {"changes":[{"changed":False, "name":"example-http-server"}],
|
||||||
@ -214,6 +221,13 @@ class ServerTestCase(unittest.TestCase):
|
|||||||
self.assertEqual(data["blueprints"][0]["name"], "example-http-server")
|
self.assertEqual(data["blueprints"][0]["name"], "example-http-server")
|
||||||
self.assertEqual(len(data["blueprints"][0]["changes"]), 1)
|
self.assertEqual(len(data["blueprints"][0]["changes"]), 1)
|
||||||
|
|
||||||
|
# Make sure limit=0 still returns the correct total
|
||||||
|
resp = self.server.get("/api/v0/blueprints/changes/example-http-server?limit=0")
|
||||||
|
data = json.loads(resp.data)
|
||||||
|
self.assertEqual(data["limit"], 0)
|
||||||
|
self.assertEqual(data["offset"], 0)
|
||||||
|
self.assertEqual(data["blueprints"][0]["total"], 1)
|
||||||
|
|
||||||
def test_04a_blueprints_diff_empty_ws(self):
|
def test_04a_blueprints_diff_empty_ws(self):
|
||||||
"""Test the /api/v0/diff/NEWEST/WORKSPACE with empty workspace"""
|
"""Test the /api/v0/diff/NEWEST/WORKSPACE with empty workspace"""
|
||||||
resp = self.server.get("/api/v0/blueprints/diff/example-glusterfs/NEWEST/WORKSPACE")
|
resp = self.server.get("/api/v0/blueprints/diff/example-glusterfs/NEWEST/WORKSPACE")
|
||||||
@ -515,6 +529,13 @@ class ServerTestCase(unittest.TestCase):
|
|||||||
projects = data.get("projects")
|
projects = data.get("projects")
|
||||||
self.assertEqual(len(projects) > 10, True)
|
self.assertEqual(len(projects) > 10, True)
|
||||||
|
|
||||||
|
expected_total = data["total"]
|
||||||
|
|
||||||
|
# Make sure limit=0 still returns the correct total
|
||||||
|
resp = self.server.get("/api/v0/projects/list?limit=0")
|
||||||
|
data = json.loads(resp.data)
|
||||||
|
self.assertEqual(data["total"], expected_total)
|
||||||
|
|
||||||
def test_projects_info(self):
|
def test_projects_info(self):
|
||||||
"""Test /api/v0/projects/info/<project_names>"""
|
"""Test /api/v0/projects/info/<project_names>"""
|
||||||
resp = self.server.get("/api/v0/projects/info/bash")
|
resp = self.server.get("/api/v0/projects/info/bash")
|
||||||
@ -676,6 +697,8 @@ class ServerTestCase(unittest.TestCase):
|
|||||||
self.assertEqual(len(modules) > 10, True)
|
self.assertEqual(len(modules) > 10, True)
|
||||||
self.assertEqual(modules[0]["group_type"], "rpm")
|
self.assertEqual(modules[0]["group_type"], "rpm")
|
||||||
|
|
||||||
|
expected_total = data["total"]
|
||||||
|
|
||||||
resp = self.server.get("/api/v0/modules/list/d*")
|
resp = self.server.get("/api/v0/modules/list/d*")
|
||||||
data = json.loads(resp.data)
|
data = json.loads(resp.data)
|
||||||
self.assertNotEqual(data, None)
|
self.assertNotEqual(data, None)
|
||||||
@ -683,6 +706,12 @@ class ServerTestCase(unittest.TestCase):
|
|||||||
self.assertEqual(len(modules) > 0, True)
|
self.assertEqual(len(modules) > 0, True)
|
||||||
self.assertEqual(modules[0]["name"].startswith("d"), True)
|
self.assertEqual(modules[0]["name"].startswith("d"), True)
|
||||||
|
|
||||||
|
# Make sure limit=0 still returns the correct total
|
||||||
|
resp = self.server.get("/api/v0/modules/list?limit=0")
|
||||||
|
data = json.loads(resp.data)
|
||||||
|
self.assertNotEqual(data, None)
|
||||||
|
self.assertEqual(data["total"], expected_total)
|
||||||
|
|
||||||
def test_modules_info(self):
|
def test_modules_info(self):
|
||||||
"""Test /api/v0/modules/info"""
|
"""Test /api/v0/modules/info"""
|
||||||
resp = self.server.get("/api/v0/modules/info/bash")
|
resp = self.server.get("/api/v0/modules/info/bash")
|
||||||
|
Loading…
Reference in New Issue
Block a user