From c3bda9ff0fdc68103de0d01d63f33ce606dd0128 Mon Sep 17 00:00:00 2001 From: Benjamin Brahmer Date: Thu, 18 May 2023 08:25:43 +0200 Subject: add Test for old items Signed-off-by: Benjamin Brahmer --- tests/test_helper/php-feed-generator | 2 +- tests/updater/update.bats | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/tests/test_helper/php-feed-generator b/tests/test_helper/php-feed-generator index 7cc160481..50b6010a2 160000 --- a/tests/test_helper/php-feed-generator +++ b/tests/test_helper/php-feed-generator @@ -1 +1 @@ -Subproject commit 7cc16048103bf31e9a4b54293e8bbc6049a874c1 +Subproject commit 50b6010a2e93b58bbc04468af7a9242fee7a4440 diff --git a/tests/updater/update.bats b/tests/updater/update.bats index ba978dbb0..e55661bc1 100644 --- a/tests/updater/update.bats +++ b/tests/updater/update.bats @@ -85,6 +85,33 @@ teardown() { assert_output --partial "${ID_LIST1[*]}" } +@test "[$TESTSUITE] Test feed with 'outdated' items https://github.com/nextcloud/news/issues/2236 " { + # Create Feed, for the first fetch a timestamp today -1 year is used. + FEEDID=$(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} POST ${BASE_URLv1}/feeds url=$TEST_FEED | grep -Po '"id":\K([0-9]+)') + + sleep 2 + + # Get Items + ID_LIST1=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' ')) + + # Generate Feed with older items (-o yes) + php ${BATS_TEST_DIRNAME}/../test_helper/php-feed-generator/feed-generator.php -a 15 -s 9 -f ${BATS_TEST_DIRNAME}/../test_helper/feeds/test.xml -o yes + + # Trigger Update + http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/feeds/update userId=${user} feedId=$FEEDID + + sleep 2 + + # Get Items again + ID_LIST2=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' ')) + + output="${ID_LIST2[*]}" + + # Check that they are not equal but that they match partially. + assert_not_equal "${ID_LIST1[*]}" "${ID_LIST2[*]}" + assert_output --partial "${ID_LIST1[*]}" +} + @test "[$TESTSUITE] Test purge with small feed" { # Generate Feed with 210 items. php ${BATS_TEST_DIRNAME}/../test_helper/php-feed-generator/feed-generator.php -a 50 -s 0 -f ${BATS_TEST_DIRNAME}/../test_helper/feeds/test.xml -- cgit v1.2.3