mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-01-12 03:21:33 +00:00
System tests for API. #116
This commit is contained in:
@@ -10,7 +10,7 @@ env:
|
||||
- secure: "V7OjWrfQ8UbktgT036jYQPb/7GJT3Ol9LObDr8FYlzsQ+F1uj2wLac6ePuxcOS4FwWOJinWGM1h+JiFkbxbyFqfRNJ0jj0O2p93QyDojxFVOn1mXqqvV66KFqAWR2Vzkny/gDvj8LTvdB1cgAIm2FNOkQc6E1BFnyWS2sN9ea5E="
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -y python-boto
|
||||
- sudo apt-get install -y python-boto python-requests
|
||||
install:
|
||||
- make prepare
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@ class APITest(BaseTest):
|
||||
kwargs["headers"]["Content-Type"] = "application/json"
|
||||
return requests.post("http://%s%s" % (self.base_url, uri), *args, **kwargs)
|
||||
|
||||
def delete(self, uri, *args, **kwargs):
|
||||
return requests.delete("http://%s%s" % (self.base_url, uri), *args, **kwargs)
|
||||
|
||||
@classmethod
|
||||
def shutdown_class(cls):
|
||||
if cls.aptly_server is not None:
|
||||
|
||||
5
system/t12_api/__init__.py
Normal file
5
system/t12_api/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
||||
"""
|
||||
Testing aptly REST API
|
||||
"""
|
||||
|
||||
from .repos import *
|
||||
43
system/t12_api/repos.py
Normal file
43
system/t12_api/repos.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from api_lib import APITest
|
||||
|
||||
|
||||
class ReposAPITestCreateShow(APITest):
|
||||
"""
|
||||
GET /api/repos/:name, POST /api/repos
|
||||
"""
|
||||
def check(self):
|
||||
repo_name = self.random_name()
|
||||
repo_desc = {u'Comment': u'fun repo',
|
||||
u'DefaultComponent': u'',
|
||||
u'DefaultDistribution': u'',
|
||||
u'Name': repo_name}
|
||||
|
||||
resp = self.post("/api/repos", json={"Name": repo_name, "Comment": "fun repo"})
|
||||
self.check_equal(resp.json(), repo_desc)
|
||||
self.check_equal(resp.status_code, 201)
|
||||
|
||||
self.check_equal(self.get("/api/repos/" + repo_name).json(), repo_desc)
|
||||
self.check_equal(self.get("/api/repos/" + repo_name).status_code, 200)
|
||||
|
||||
self.check_equal(self.get("/api/repos/" + self.random_name()).status_code, 404)
|
||||
|
||||
|
||||
class ReposAPITestCreateIndexDelete(APITest):
|
||||
"""
|
||||
GET /api/repos, POST /api/repos, DELETE /api/repos/:name
|
||||
"""
|
||||
def check(self):
|
||||
repo_name = self.random_name()
|
||||
|
||||
self.check_equal(self.post("/api/repos", json={"Name": repo_name, "Comment": "fun repo"}).status_code, 201)
|
||||
|
||||
repos = self.get("/api/repos/").json()
|
||||
names = [repo["Name"] for repo in repos]
|
||||
assert repo_name in names
|
||||
|
||||
self.check_equal(self.delete("/api/repos/" + repo_name).status_code, 200)
|
||||
self.check_equal(self.delete("/api/repos/" + repo_name).status_code, 404)
|
||||
|
||||
self.check_equal(self.get("/api/repos/" + repo_name).status_code, 404)
|
||||
|
||||
self.check_equal(self.delete("/api/repos/" + self.random_name()).status_code, 404)
|
||||
Reference in New Issue
Block a user