8000 Add unit and integration tests for Repository#deployment · adrianmoisey/github3.py@d3c67bb · GitHub
[go: up one dir, main page]

Skip to content

Commit d3c67bb

Browse files
committed
Add unit and integration tests for Repository#deployment
1 parent a6f48e7 commit d3c67bb

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

github3/repos/repo.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,7 @@ def deployment(self, id):
10581058
:param int id: (required), id for deployments.
10591059
:returns: :class:`~github3.repos.deployment.Deployment`
10601060
"""
1061+
json = None
10611062
if int(id) > 0:
10621063
url = self._build_url('deployments', str(id), base_url=self._api)
10631064
json = self._json(self._get(url), 200)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"recorded_with": "betamax/0.4.1", "http_interactions": [{"request": {"body": {"string": "", "encoding": "utf-8"}, "method": "GET", "headers": {"Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a1", "Content-Type": "application/json", "Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "Connection": "keep-alive"}, "uri": "https://api.github.com/repos/sigmavirus24/github3.py"}, "recorded_at": "2015-02-22T02:28:19", "response": {"body": {"string": "", "encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA62Yy47jNhBFf8XQNm7Tj+64R0AwM6sku1lMNtkYlERLREukQFI23EL/ey5FvYP40czGsGXW4WWxiqpiHfAkCHf7zXq/2SwDQQsWhEHKTVZFu1V5CZbBscrzQ/uH5mlBT1xVevtMJqPkWTAVhHWQy5QLMMZDQbHTbJ/Xr7v1MqAnaqg6VCrHuMyYUoeEuId65aiVZiqWwjBhVrEsSEWc8dfTbzvQUtUyLDbAgxmr5C3HGQOmyUxQZop8JsFN3ZjMBh9lnsszKHPRtyYivaX1ZEPhIv0kBZY1kSZj8B2W9GEdwbV5XFRjVWMDtTnwxHI0NkSx5GFhrR1k2f3/qIlipWyAVaRjxUvDpXhc4MQaNKlSKvg7/RwN1hoQK+1xKY0VrNkJsfi4uTOrSan4icYX6xrFYsZPcPYnkTN7EM2ltGn7F4LCup4bdqBJYdPwSHPNPpZBM73BoObBEll3b/RP0zxh/a5iwh8Xk0mxyHmkqLosjlItOHJWHWmMWF2ccYwsEK6L37n5o4oW33/8ebLZi3FvvZKrmds4f5KMUzmWdGNPriKQngBA0hu7eHGsfU3w2eZTjFSnkVTUyFuHxnWBE1BNxj9tLBlGCy/hDQCgTEo/TzYAgLjWFbsrtK8vvOFo0uWPqIrIHXn3ZM11tCNAK9U45wVjXh7sITXpTmWkg4gzP2zHqIn71uw2Tb2kWntgolxGXhy8KEkDqYnOqHsPmYOvOku1jAlUsaO3VMvooUZ57ncj00J6JF6CBlvvpbNjkLr1aE5FWtHUj9pDsOv2VZ3S95tFzPXcGShA2gpN8ajyP+QGjlXqagfku59LB8wAbQqS62XODQeMCpvGBUXBb9UF14ktYhL2/wPWxukcbX/fLmNuy7WMmgxnsjv0W7qPd9tTv9M5nqNtB7xComOQ+peSmsyeXJiqpIr5iG4RpI4oiq3ValVnjDZldcGUZwY7AlBUxRmqRh+ddcdA1VNQ01TrRyszQfWeS5p4+baHAOi20UerI4z3v0Qf6iWwAYyJBc+ZNlL4nbEDZcwW0vAjj+/pWK6n2wRUf9VcxGxJ83yJqDU85ohj1Np2F1FwMj8POQKWgWsA16nkDCHt5XXFHKMmrtOMFUMjkhyoQQOxXW+2T+vd02b3c/MlfHkNX3Z/YyVVmUzGvDytt0/bzc/1r+F2Ez43Y8pKZyPMbMjeDsEJ2IYgvuGKAZ+41vhXfz9qKeytAQy1zgbDb4NZ+B/3H61ZnCOWZkF//5yn+WvptimkZrJgJcqE9ialX+WuvKzg6QTtVyJjvUIPTOzK+DuGvu43+0lBEMtKYD+2++dlcKYGtSteveOHXSHRN312aqoPLk2D0KjKdpV4MhwDo4dn/saH3hOjrGTdmbkurp3uyxbHJldKthdEAlmLC4CSiXayXhcGuvYttDajEVgIHnTraJeVsCOtcnNw1TTWkaANyGWJhQhmzugDO7CljUuQzg8vH/8AOBr1tS4TAAA="}, "status": {"message": "OK", "code": 200}, "headers": {"Access-Control-Allow-Credentials": "true", "Transfer-Encoding": "chunked", "X-Content-Type-Options": "nosniff", "Status": "200 OK", "X-XSS-Protection": "1; mode=block", "X-Served-By": "a30e6f9aa7cf5731b87dfb3b9992202d", "X-RateLimit-Reset": "1424575262", "X-RateLimit-Limit": "60", "X-GitHub-Request-Id": "451DE374:0FF6:D406E8E:54E93EC3", "Content-Security-Policy": "default-src 'none'", "Server": "GitHub.com", "Date": "Sun, 22 Feb 2015 02:28:19 GMT", "X-RateLimit-Remaining": "57", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Vary": "Accept, Accept-Encoding", "X-Frame-Options": "deny", "ETag": "W/\"bb647954329b840098ebce6ec0b1df3d\"", "Cache-Control": "public, max-age=60, s-maxage=60", "Content-Encoding": "gzip", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Last-Modified": "Sat, 21 Feb 2015 06:21:43 GMT", "Content-Type": "application/json; charset=utf-8", "X-GitHub-Media-Type": "github.v3; param=full; format=json"}, "url": "https://api.github.com/repos/sigmavirus24/github3.py"}}, {"request": {"body": {"string": "", "encoding": "utf-8"}, "method": "GET", "headers": {"Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a1", "Content-Type": "application/json", "Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "Connection": "keep-alive"}, "uri": "https://api.github.com/repos/sigmavirus24/github3.py/deployments/797"}, "recorded_at": "2015-02-22T02:28:19", "response": {"body": {"string": "", "encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA51UXY+bMBD8L37OxXw1CUhV/0T70pdoAw5YBWzZhhNF+e8dO9zpQqWcuDev7Zkdz+56ZoNpWcEa57QtOCct97V0zXDZl6rjRmhluZV1R6M0g00yfj9N93rildCtmjrRO8uP+ZHtmKxYgdWO2YbASskly3PK4uu3Q07JgcpTnEdxFueUXijNy+yUx9mxAtKIKwCVGEWrNGJH9k/Y8CkQa5paRaBnCEQPNar3mbGhjaqG0knV46gStjRShyjcLY0gpwwrZtaqWvrdj+9ZRCdZdEqjHaORHJnzypSwaRdjBitMqXqH5MGjgd/BP8bvKdhqs3B4L7yApwZ7skeDgWhc164kfKjJSv1Vta16Bcta9GMl/0/E35FIeV/Lvv4iC5AzV64R8A5PunkjpHXbRQXUjC6z7iwrz2PhvRHVZmELDrJeeyiaQzMHwuHy3iPbBT6gwaZMTb38S77jtrMBbUES5mzzCwMKaAwNRnAz/A6buTZypHLy1hhRCjnC7C9SrvBgdJMWmINfaApvvXTiTFXnx/BKrRW3ZUCRkvwsJ/gdXqLkJUl/JlERHYo4+g3coCtyn9xBvR167xMfNv1o/I3zrUQSP8n03OinCdjtH6HTWl5xBQAA"}, "status": {"message": "OK", "code": 200}, "headers": {"Access-Control-Allow-Credentials": "true", "Transfer-Encoding": "chunked", "X-Content-Type-Options": "nosniff", "Status": "200 OK", "X-XSS-Protection": "1; mode=block", "X-Served-By": "139317cebd6caf9cd03889139437f00b", "X-RateLimit-Reset": "1424575262", "X-RateLimit-Limit": "60", "X-GitHub-Request-Id": "451DE374:0FF6:D406EAC:54E93EC3", "Content-Security-Policy": "default-src 'none'", "Server": "GitHub.com", "Date": "Sun, 22 Feb 2015 02:28:19 GMT", "X-RateLimit-Remaining": "56", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Vary": "Accept, Accept-Encoding", "X-Frame-Options": "deny", "ETag": "W/\"3cb1e5698e74f4858d42d15fd1864a3e\"", "Cache-Control": "public, max-age=60, s-maxage=60", "Content-Encoding": "gzip", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Last-Modified": "Sun, 23 Feb 2014 20:06:10 GMT", "Content-Type": "application/json; charset=utf-8", "X-GitHub-Media-Type": "github.v3; param=full; format=json"}, "url": "https://api.github.com/repos/sigmavirus24/github3.py/deployments/797"}}]}

tests/integration/test_repos_repo.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,16 @@ def test_delete(self):
148148
assert repository is not None
149149
assert repository.delete() is True
150150

151+
def test_deployment(self):
152+
"""Test that a deployment can be retrieved by its id."""
153+
cassette_name = self.cassette_name('deployment')
154+
with self.recorder.use_cassette(cassette_name):
155+
repository = self.gh.repository('sigmavirus24', 'github3.py')
156+
assert repository is not None
157+
deployment = repository.deployment(797)
158+
159+
assert isinstance(deployment, github3.repos.deployment.Deployment)
160+
151161
def test_deployments(self):
152162
"""Test that a repository's deployments may be retrieved."""
153163
cassette_name = self.cassette_name('deployments')

tests/unit/test_repos_repo.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,18 @@ def test_directory_contents_with_ref(self):
203203
params={'ref': 'some-sha'}
204204
)
205205

206+
def test_deployment(self):
207+
"""Verify the request made to retrieve a deployment."""
208+
self.instance.deployment(10)
209+
210+
self.session.get.assert_called_once_with(url_for('deployments/10'))
211+
212+
def test_deployment_requires_positive_int(self):
213+
"""Verify that a positive deployment id is required."""
214+
self.instance.deployment(-10)
215+
216+
assert self.session.get.called is False
217+
206218
def test_file_contents(self):
207219
"""Verify the request made to retrieve a dictionary's contents."""
208220
self.instance.file_contents('path/to/file.txt', ref='some-sha')

0 commit comments

Comments
 (0)
0