Skip to content
This repository was archived by the owner on Nov 17, 2022. It is now read-only.

Commit 1616157

Browse files
author
Allison Deal
authored
Merge pull request #70 from cbsinteractive/cancel-method
client: add cancel_event method Fixes cbsinteractive/propeller#1529
2 parents 7c333b6 + 3246396 commit 1616157

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,18 @@
66

77

88
Python Client for Elemental On-Premises Appliances
9+
10+
## Run Tests
11+
12+
Before running tests locally, install `tox` and `poetry`.
13+
14+
pipx install tox
15+
pipx install poetry
16+
17+
Run tests using
18+
19+
make test
20+
21+
To run lint, use
22+
23+
make lint

elemental/client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ def delete_event(self, event_id: str, timeout: Optional[int] = None) -> None:
108108
headers = self.generate_headers(url)
109109
self.send_request(http_method="DELETE", url=url, headers=headers, timeout=timeout)
110110

111+
def cancel_event(self, event_id: str, timeout: Optional[int] = None) -> None:
112+
url = f'{self.server_url}/live_events/{event_id}/cancel'
113+
headers = self.generate_headers(url)
114+
self.send_request(http_method="POST", url=url, headers=headers, timeout=timeout)
115+
111116
def start_event(self, event_id: str, timeout: Optional[int] = None) -> None:
112117
url = f'{self.server_url}/live_events/{event_id}/start'
113118
body = "<start></start>"

tests/client_test.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,22 @@ def test_delete_event_should_call_send_request_as_expect():
157157
url=f'{ELEMENTAL_ADDRESS}/live_events/{event_id}', headers=HEADERS, timeout=None)
158158

159159

160+
def test_cancel_event_should_call_send_request_as_expected():
161+
client = ElementalLive(ELEMENTAL_ADDRESS, USER, API_KEY)
162+
163+
client.generate_headers = mock.Mock()
164+
client.generate_headers.return_value = HEADERS
165+
166+
client.send_request = mock.Mock()
167+
client.send_request.return_value = mock_response(status=200)
168+
169+
event_id = '999'
170+
client.cancel_event(event_id)
171+
client.send_request.assert_called_once_with(
172+
http_method='POST',
173+
url=f'{ELEMENTAL_ADDRESS}/live_events/{event_id}/cancel', headers=HEADERS, timeout=None)
174+
175+
160176
def test_start_event_should_call_send_request_as_expect():
161177
client = ElementalLive(ELEMENTAL_ADDRESS, USER, API_KEY)
162178

0 commit comments

Comments
 (0)