First go at fixing integration tests

This commit is contained in:
Alessio 2023-08-22 20:12:50 -03:00
parent efae882c96
commit b47cfc9f78
2 changed files with 20 additions and 15 deletions

View File

@ -19,10 +19,11 @@ pipeline:
image: offline-twitter/go image: offline-twitter/go
secrets: secrets:
- offline_twatter_passwd - offline_twatter_passwd
when:
path: pkg/scraper/**
commands: commands:
- cd cmd - cd cmd
# - ./tests.sh - ./tests.sh
# TODO: fix the integration tests!
webserver_test: webserver_test:
image: offline-twitter/go image: offline-twitter/go

View File

@ -28,6 +28,15 @@ cd data
# Print an error message in red before exiting if a test fails # Print an error message in red before exiting if a test fails
trap 'echo -e "\033[31mTEST FAILURE. Aborting\033[0m"' ERR trap 'echo -e "\033[31mTEST FAILURE. Aborting\033[0m"' ERR
# Testing login
tw login offline_twatter "$OFFLINE_TWATTER_PASSWD"
test -f Offline_Twatter.session
test "$(jq .UserHandle Offline_Twatter.session)" = "\"Offline_Twatter\""
test "$(jq .IsAuthenticated Offline_Twatter.session)" = "true"
jq .CSRFToken Offline_Twatter.session | grep -P '"\w+"'
shopt -s expand_aliases
alias tw="tw --session Offline_Twatter"
# Fetch a user # Fetch a user
test $(find profile_images | wc -l) = "1" # should be empty to begin test $(find profile_images | wc -l) = "1" # should be empty to begin
@ -280,13 +289,14 @@ test "$(sqlite3 twitter.db "select tombstone_type, text from tweets where id = 1
# Test no-clobbering of num_likes/num_retweets etc when a tweet gets deleted/tombstoned # Test no-clobbering of num_likes/num_retweets etc when a tweet gets deleted/tombstoned
tw fetch_tweet 1489428890783461377 # Quoted tweet # TODO: this tweet got deleted
test "$(sqlite3 twitter.db "select tombstone_type from tweets where id = 1489428890783461377")" = "" # Should not be tombstoned # tw fetch_tweet 1489428890783461377 # Quoted tweet
test "$(sqlite3 twitter.db "select num_likes from tweets where id = 1489428890783461377")" -gt "50" # Should have some likes # test "$(sqlite3 twitter.db "select tombstone_type from tweets where id = 1489428890783461377")" = "" # Should not be tombstoned
initial_vals=$(sqlite3 twitter.db "select num_likes, num_retweets, num_replies, num_quote_tweets from tweets where id = 1489428890783461377") # test "$(sqlite3 twitter.db "select num_likes from tweets where id = 1489428890783461377")" -gt "50" # Should have some likes
tw fetch_tweet 1489432246452985857 # Quoting tweet # initial_vals=$(sqlite3 twitter.db "select num_likes, num_retweets, num_replies, num_quote_tweets from tweets where id = 1489428890783461377")
test "$(sqlite3 twitter.db "select tombstone_type from tweets where id = 1489428890783461377")" -gt "0" # Should be hidden # tw fetch_tweet 1489432246452985857 # Quoting tweet
test "$(sqlite3 twitter.db "select num_likes, num_retweets, num_replies, num_quote_tweets from tweets where id = 1489428890783461377")" = "$initial_vals" # test "$(sqlite3 twitter.db "select tombstone_type from tweets where id = 1489428890783461377")" -gt "0" # Should be hidden
# test "$(sqlite3 twitter.db "select num_likes, num_retweets, num_replies, num_quote_tweets from tweets where id = 1489428890783461377")" = "$initial_vals"
# Test a tweet thread with a deleted account; should generate a user with a fake ID # Test a tweet thread with a deleted account; should generate a user with a fake ID
@ -323,12 +333,6 @@ test "$(sqlite3 twitter.db "select count(*) from users where is_followed = 1")"
tw unfollow cernovich tw unfollow cernovich
test "$(sqlite3 twitter.db "select count(*) from users where is_followed = 1")" = "0" test "$(sqlite3 twitter.db "select count(*) from users where is_followed = 1")" = "0"
# Testing login
tw login offline_twatter "$OFFLINE_TWATTER_PASSWD"
test -f Offline_Twatter.session
test "$(jq .UserHandle Offline_Twatter.session)" = "\"Offline_Twatter\""
test "$(jq .IsAuthenticated Offline_Twatter.session)" = "true"
jq .CSRFToken Offline_Twatter.session | grep -P '"\w+"'
# When not logged in, age-restricted tweet should fail to fetch # When not logged in, age-restricted tweet should fail to fetch
tw fetch_user PandasAndVidya tw fetch_user PandasAndVidya