From e9a886fd9b4913886252b152708a2a7452ca9779 Mon Sep 17 00:00:00 2001 From: Benjamin Brahmer Date: Fri, 5 Aug 2022 16:09:02 +0200 Subject: use bats lib in tests Signed-off-by: Benjamin Brahmer --- tests/command/feeds.bats | 79 +++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 54 deletions(-) diff --git a/tests/command/feeds.bats b/tests/command/feeds.bats index f89cd2afd..8ee95bf0a 100644 --- a/tests/command/feeds.bats +++ b/tests/command/feeds.bats @@ -1,6 +1,10 @@ #!/usr/bin/env bats -load "helpers/settings" +setup(){ + load "../test_helper/bats-support/load" + load "../test_helper/bats-assert/load" + load "helpers/settings" +} TESTSUITE="Feeds" @@ -9,43 +13,29 @@ teardown() { for ID in $ID_LIST; do ./occ news:feed:delete "$user" "$ID" done - sleep 1 } @test "[$TESTSUITE] Create new" { run "./occ" news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" - [ "$status" -eq 0 ] + assert_success - if ! echo "$output" | grep '"ID":'; then - ret_status=$? - echo "Feed ID not returned" - return $ret_status - fi + assert_output --partial "Something-${BATS_SUITE_TEST_NUMBER}" } @test "[$TESTSUITE] Add feed without GUIDs" { run ./occ news:feed:add "$user" "$NO_GUID_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" - [ "$status" -ne 0 ] + assert_failure - if ! echo "$output" | grep "No parser can handle this stream"; then - ret_status=$? - echo "Malformed feed exception wasn't properly caught" - return $ret_status - fi + assert_output "Malformed feed: item has no GUID" } @test "[$TESTSUITE] List all" { ./occ news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" run ./occ news:feed:list "$user" - [ "$status" -eq 0 ] - - if ! echo "$output" | grep "Something-${BATS_SUITE_TEST_NUMBER}"; then - ret_status=$? - echo "Feed not found in list" - return $ret_status - fi + assert_success + assert_output --partial "Something-${BATS_SUITE_TEST_NUMBER}" } @test "[$TESTSUITE] Favicon" { @@ -53,19 +43,10 @@ teardown() { ./occ news:feed:add "$user" "$HEISE_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" run ./occ news:feed:list "$user" - [ "$status" -eq 0 ] + assert_success - if ! echo "$output" | grep -F '"faviconLink": "https:\/\/nextcloud.com\/media\/screenshot-150x150.png"'; then - ret_status=$? - echo "Logo test failed" - return $ret_status - fi - - if ! echo "$output" | grep -F '"faviconLink": "https:\/\/www.heise.de\/favicon.ico"'; then - ret_status=$? - echo "Favicon test failed" - return $ret_status - fi + assert_output --partial '"faviconLink": "https:\/\/nextcloud.com\/wp-content\/uploads\/2022\/03\/favicon.png",' + assert_output --partial '"faviconLink": "https:\/\/www.heise.de\/favicon.ico?v=JykvN0w9Ye",' } @test "[$TESTSUITE] List all items" { @@ -75,43 +56,33 @@ teardown() { ID=$(./occ news:feed:list 'admin' | grep 'github\.com' -1 | head -1 | grep -oE '[0-9]*') run ./occ news:item:list-feed "$user" "$ID" --limit 200 - [ "$status" -eq 0 ] + assert_success - if ! echo "$output" | grep "$TAG"; then - ret_status=$? - echo "Release not found in list" - return $ret_status - fi + assert_output --partial $TAG } @test "[$TESTSUITE] Read all" { - ./occ news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" - run ./occ news:feed:list "$user" - [ "$status" -eq 0 ] + assert_output "[]" + ID=$(./occ news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}"| grep "Something-${BATS_SUITE_TEST_NUMBER}" -2 | head -1 | grep -oE '[0-9]*') - echo "$output" | grep "Something-${BATS_SUITE_TEST_NUMBER}" - - ID=$(./occ news:feed:list 'admin' | grep "Something-${BATS_SUITE_TEST_NUMBER}" -2 | head -1 | grep -oE '[0-9]*') run ./occ news:feed:read "$user" "$ID" -v - [ "$status" -eq 0 ] - if ! echo "$output" | grep "items as read"; then - ret_status=$? - echo "Feed not read" - return $ret_status - fi + assert_output --partial "items as read" } -@test "[$TESTSUITE] Delete all" { +@test "[$TESTSUITE] Delete one" { + run ./occ news:feed:list "$user" + assert_output "[]" + ./occ news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}" run ./occ news:feed:list "$user" - [ "$status" -eq 0 ] + assert_success echo "$output" | grep "Something-${BATS_SUITE_TEST_NUMBER}" ID=$(./occ news:feed:list 'admin' | grep "Something-${BATS_SUITE_TEST_NUMBER}" -2 | head -1 | grep -oE '[0-9]*') run ./occ news:feed:delete "$user" "$ID" - [ "$status" -eq 0 ] + assert_success } -- cgit v1.2.3