Add healthy test cassette

This commit is contained in:
Lorenz Diener 2019-06-22 17:33:12 +02:00
pare 71c6bc0f52
commit a88492bdcf
S'han modificat 4 arxius amb 70 adicions i 9 eliminacions

Veure arxiu

@ -4,6 +4,8 @@ version number. Breaking changes will be indicated by a change in the minor
v1.4.4 v1.4.4
------ ------
* Made status_delete return the deleted status (With "source" attribute)
* Added account_id parameter to notifications
* Added streaming_health * Added streaming_health
* Added support for local hashtag streams * Added support for local hashtag streams
* Made blurhash an optional dependency (Thanks limburgher) * Made blurhash an optional dependency (Thanks limburgher)

Veure arxiu

@ -543,7 +543,7 @@ Media dicts
# Returns the following dictionary: # Returns the following dictionary:
{ {
'id': # The ID of the attachment. 'id': # The ID of the attachment.
'type': # Media type: 'image', 'video', 'gifv' or 'unknown'. 'type': # Media type: 'image', 'video', 'gifv', 'audio' or 'unknown'.
'url': # The URL for the image in the local cache 'url': # The URL for the image in the local cache
'remote_url': # The remote URL for the media (if the image is from a remote instance) 'remote_url': # The remote URL for the media (if the image is from a remote instance)
'preview_url': # The URL for the media preview 'preview_url': # The URL for the media preview

Veure arxiu

@ -179,7 +179,7 @@ class Mastodon:
__DICT_VERSION_MEDIA = "2.8.2" __DICT_VERSION_MEDIA = "2.8.2"
__DICT_VERSION_ACCOUNT = "2.4.0" __DICT_VERSION_ACCOUNT = "2.4.0"
__DICT_VERSION_POLL = "2.8.0" __DICT_VERSION_POLL = "2.8.0"
__DICT_VERSION_STATUS = bigger_version(bigger_version(bigger_version(bigger_version(bigger_version("2.8.0", __DICT_VERSION_STATUS = bigger_version(bigger_version(bigger_version(bigger_version(bigger_version("2.9.1",
__DICT_VERSION_MEDIA), __DICT_VERSION_ACCOUNT), __DICT_VERSION_APPLICATION), __DICT_VERSION_MENTION), __DICT_VERSION_POLL) __DICT_VERSION_MEDIA), __DICT_VERSION_ACCOUNT), __DICT_VERSION_APPLICATION), __DICT_VERSION_MENTION), __DICT_VERSION_POLL)
__DICT_VERSION_INSTANCE = bigger_version("2.7.2", __DICT_VERSION_ACCOUNT) __DICT_VERSION_INSTANCE = bigger_version("2.7.2", __DICT_VERSION_ACCOUNT)
__DICT_VERSION_HASHTAG = "2.3.4" __DICT_VERSION_HASHTAG = "2.3.4"
@ -865,12 +865,12 @@ class Mastodon:
### ###
# Reading data: Notifications # Reading data: Notifications
### ###
@api_version("1.0.0", "2.6.0", __DICT_VERSION_NOTIFICATION) @api_version("1.0.0", "2.9.0", __DICT_VERSION_NOTIFICATION)
def notifications(self, id=None, max_id=None, min_id=None, since_id=None, limit=None): def notifications(self, id=None, account_id=None, max_id=None, min_id=None, since_id=None, limit=None):
""" """
Fetch notifications (mentions, favourites, reblogs, follows) for the logged-in Fetch notifications (mentions, favourites, reblogs, follows) for the logged-in
user. user. Pass `account_id` to get only notifications originating from the given account.
Can be passed an `id` to fetch a single notification. Can be passed an `id` to fetch a single notification.
Returns a list of `notification dicts`_. Returns a list of `notification dicts`_.
@ -884,6 +884,9 @@ class Mastodon:
if since_id != None: if since_id != None:
since_id = self.__unpack_id(since_id) since_id = self.__unpack_id(since_id)
if account_id != None:
account_id = self.__unpack_id(account_id)
if id is None: if id is None:
params = self.__generate_params(locals(), ['id']) params = self.__generate_params(locals(), ['id'])
return self.__api_request('GET', '/api/v1/notifications', params) return self.__api_request('GET', '/api/v1/notifications', params)
@ -1606,10 +1609,14 @@ class Mastodon:
def status_delete(self, id): def status_delete(self, id):
""" """
Delete a status Delete a status
Returns the now-deleted status, with an added "source" attribute that contains
the text that was used to compose this status (this can be used to power
"delete and redraft" functionality)
""" """
id = self.__unpack_id(id) id = self.__unpack_id(id)
url = '/api/v1/statuses/{0}'.format(str(id)) url = '/api/v1/statuses/{0}'.format(str(id))
self.__api_request('DELETE', url) return self.__api_request('DELETE', url)
@api_version("1.0.0", "2.0.0", __DICT_VERSION_STATUS) @api_version("1.0.0", "2.0.0", __DICT_VERSION_STATUS)
def status_reblog(self, id, visibility=None): def status_reblog(self, id, visibility=None):
@ -2159,10 +2166,10 @@ class Mastodon:
### ###
# Writing data: Media # Writing data: Media
### ###
@api_version("1.0.0", "2.3.0", __DICT_VERSION_MEDIA) @api_version("1.0.0", "2.9.1", __DICT_VERSION_MEDIA)
def media_post(self, media_file, mime_type=None, description=None, focus=None): def media_post(self, media_file, mime_type=None, description=None, focus=None):
""" """
Post an image. `media_file` can either be image data or Post an image, video or audio file. `media_file` can either be image data or
a file name. If image data is passed directly, the mime a file name. If image data is passed directly, the mime
type has to be specified manually, otherwise, it is type has to be specified manually, otherwise, it is
determined from the file name. `focus` should be a tuple determined from the file name. `focus` should be a tuple

Veure arxiu

@ -0,0 +1,52 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [python-requests/2.18.4]
method: GET
uri: http://localhost:3000/api/v1/instance/
response:
body: {string: '{"uri":"localhost","title":"Mastodon","description":"","email":"","version":"2.9.1","urls":{"streaming_api":"ws://localhost:4000"},"stats":{"user_count":2,"status_count":8,"domain_count":0},"thumbnail":"http://localhost/packs/media/images/preview-9a17d32fc48369e8ccd910a75260e67d.jpg","languages":["en"],"registrations":true,"contact_account":null}'}
headers:
Cache-Control: ['max-age=300, public']
Content-Type: [application/json; charset=utf-8]
Date: ['Sat, 22 Jun 2019 14:40:35 GMT']
ETag: [W/"9cf634ec19499004934b5325f20d71b4"]
Referrer-Policy: [strict-origin-when-cross-origin]
Transfer-Encoding: [chunked]
Vary: ['Accept-Encoding, Origin']
X-Content-Type-Options: [nosniff]
X-Download-Options: [noopen]
X-Frame-Options: [SAMEORIGIN]
X-Permitted-Cross-Domain-Policies: [none]
X-Request-Id: [e205dad6-1b7d-4469-82e6-b1928be37b2f]
X-Runtime: ['0.026031']
X-XSS-Protection: [1; mode=block]
content-length: ['348']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [python-requests/2.18.4]
method: GET
uri: http://localhost:4000/api/v1/streaming/health
response:
body: {string: OK}
headers:
Access-Control-Allow-Headers: ['Authorization, Accept, Cache-Control']
Access-Control-Allow-Methods: ['GET, OPTIONS']
Access-Control-Allow-Origin: ['*']
Connection: [keep-alive]
Content-Type: [text/plain]
Date: ['Sat, 22 Jun 2019 14:40:35 GMT']
Transfer-Encoding: [chunked]
X-Powered-By: [Express]
X-Request-Id: [93545687-8c80-4295-a7c7-5289fac6e5b3]
status: {code: 200, message: OK}
version: 1