thrillfall
bf8fee14e3
delete conflicting episode action if current episode actions updates to same episode url
2023-02-24 20:48:53 +01:00
thrillfall
ee84d2f670
test updating episode action fails when other episode action with same episode url already exists
2023-02-24 20:42:45 +01:00
thrillfall
a6a19df999
test disambiguated episode action search
2023-02-24 19:37:50 +01:00
thrillfall
a1893061ce
fix #109 search for episode action by guid only (retry with episode url if nothing found) thus avoid multiple results
2023-02-24 17:11:59 +01:00
thrillfall
4999b96456
register app into nextcloud service container we can run tests
2023-02-24 17:11:59 +01:00
Jonathan Flueren
bfb3799f5c
Fix indentation
2022-11-08 20:51:38 +01:00
JonOfUs
3c2f229b76
Add migration + test for long podcast feed URLs
2022-11-08 20:51:38 +01:00
kalle (jag)
6420fa4f7d
Apply suggestions from code review
...
Co-authored-by: Jonathan Flueren <11487762+JonOfUs@users.noreply.github.com>
2022-10-28 09:50:44 +02:00
Kalle Fagerberg
a5a69fa3f7
Added image proxying/caching
2022-10-28 09:50:44 +02:00
Kalle Fagerberg
2b82e9e9c9
Added PodcastData parsing/toArray tests
2022-10-28 09:50:44 +02:00
Jonathan Flueren
6ba2f89195
Add integration tests for subs and empty since
2022-05-25 23:57:42 +02:00
Jonathan Flueren
4c4803f117
Change to mock in migration tests for better compatibility
2022-05-04 19:23:31 +02:00
Jonathan Flueren
2ac01444bc
Change test request creation to work with Nextcloud 24
2022-05-04 19:23:31 +02:00
thrillfall
e119d41c86
do not add subscriptions that have no url (i.e. antennapod local folder subscriptions)
2021-12-09 20:55:05 +01:00
Matthias Gutjahr
48c4bb779e
Remove unit tests
2021-11-03 13:51:26 +01:00
Matthias Gutjahr
bac196e0b5
Throw exception if client sends invalid request data
2021-11-03 13:51:26 +01:00
Matthias Gutjahr
3e94305d0c
Add integration test for create action
2021-11-03 13:51:26 +01:00
Matthias Gutjahr
cba5bd97c3
Fix typo
2021-11-03 13:51:26 +01:00
Matthias Gutjahr
1d2056e025
Add check for EpisodeAction properties
...
- also add type hints and phpdocs
- add additional unit tests
- set integer types in EpisodeActionEntity
- correctly call static methods
- improve exception handling in EpisodeActionSaver
- remove unused method EpisodeActionWriter::purge()
2021-11-03 13:51:26 +01:00
thrillfall
f686348c22
add another episode action to test that converted timestamps are set to correct entites
2021-10-13 22:32:06 +02:00
thrillfall
137e367c2d
also catch oracle exception message
2021-10-06 19:40:52 +02:00
Jonathan Flueren
77571feb40
Update tests to new upload format
2021-10-06 19:40:52 +02:00
Jonathan Flueren
3534c43976
Adjust expected DateTime format to gpodder - UTC ISO 8601
2021-10-06 19:40:52 +02:00
Jonathan Flueren
795a9253d2
Adjust EpisodeAction upload to gpodder api, remove String upload
...
Remove 3rd dimension of POST data by directly accessing request data - a simple EpisodeActions array has to be posted now. This way the api is closer to gpodder.
Additionally, removed EpisodeAction upload as String, so it's now incompatible with older versions
2021-10-06 19:40:52 +02:00
Jonathan Flueren
91c2dccd3c
Test array parsing without guid
2021-10-06 19:40:52 +02:00
Jonathan Flueren
7813339a95
Allow EpisodeAction upload as array
...
Parsing EpisodeActions from String can lead to problems if the String is changed by only a little bits.
Additionally, the gpodder api describes the upload as Array.
Uploading EpisodeActions as String is still possible.
2021-10-06 19:40:52 +02:00
thrillfall
499d11d209
query episode actions by unix timestamp (instead of datetime object)
2021-10-06 14:06:45 +02:00
thrillfall
2a988e91a6
test only with new episode_action.datetime_epoch field
2021-10-06 14:06:45 +02:00
thrillfall
a11850e995
dont run test that fails on mysql or sqlite database
2021-10-06 14:06:45 +02:00
thrillfall
39e094e812
make test independent of test system timezone
2021-10-06 14:06:45 +02:00
thrillfall
aa09c8d0a3
expect also sqlite exception message in test
2021-10-06 14:06:45 +02:00
thrillfall
ac1acf079b
provide episode_action timestamps as UTC in api response
2021-10-06 14:06:45 +02:00
thrillfall
aa024e55f8
add new timestamp database field. add migration step to convert timestamps to unix epoch
2021-10-06 14:06:45 +02:00
thrillfall
2e8ba1b0ad
adapt tests to new dbal exception class in nc >=21
2021-10-06 14:06:45 +02:00
thrillfall
ff4798f6da
do not null EpisodeAction.guid when processing request without guid
2021-08-29 13:14:40 +02:00
thrillfall
a336618ada
make it clearer when we insert test data in the database
2021-08-29 13:14:40 +02:00
thrillfall
9f0c06e919
test we still retrieve the correct episode action by guid when episode url changes
2021-08-29 13:14:40 +02:00
thrillfall
352802ca69
update existing episode actions with guid
2021-08-29 13:14:40 +02:00
thrillfall
850dfd5eb4
add guid to episode action and make it findable by it
2021-08-29 13:14:40 +02:00
thrillfall
ae27f7cf34
test unique index constraint for episode actions
2021-08-29 13:14:40 +02:00
thrillfall
ba0d4f4357
parse optional guid from EpisodeAction request
2021-08-29 13:14:40 +02:00
thrillfall
20a647906a
do not pass same data twice
2021-08-27 12:51:29 +02:00
Jonathan Flueren
48b78669e6
Enable processing of multiple EpisodeActions
...
EpisodeAction/create now can deal with multiple EpisodeActions inside a single EpisodeAction string, they will be processed one after another.
For this EpisodeActionReader->fromString() now returns an array of EpisodeActions.
2021-08-24 22:31:24 +02:00
thrillfall
ad3b9c107d
convert timestamp from episode action request to format also mysql can process
2021-07-22 23:44:45 +02:00
thrillfall
324aecd7b8
make subscription changes endpoint comply with gpodder.net api
2021-07-13 21:36:34 +02:00
Matthias Gutjahr
cd5a77281e
Fix compatibility with more recent versions of PHPUnit
2021-07-13 09:43:54 +02:00
thrillfall
72bf365285
parse EpisodeAction message from AntennaPod
...
persist and list with database
create episodeAction list reponse (with mocked timestamp, started and total)
create episodeActions with received values
update existing episodeActions by unique episode link
receive and store subscription changes
deal with multiple subscription changes in single request
split database into subdirectories
only return subscription changes younger then passed parameter since
parse passed timestamp
parse passed timestamp for episode_actions listing
only return list of urls for subscription changes
align list endpoint naming schema
store userId with episode actions and subscriptions
return json object on application root route
2021-06-27 13:24:17 +02:00