offline-twitter/pkg/persistence/session_test.go
2023-07-30 14:20:07 -03:00

43 lines
885 B
Go

package persistence_test
import (
"fmt"
"gitlab.com/offline-twitter/twitter_offline_engine/pkg/scraper"
"math/rand"
"net/http"
"net/http/cookiejar"
"testing"
"time"
"github.com/go-test/deep"
)
// Save and load an API session; it should come back the same
func TestSaveAndLoadAuthenticatedSession(t *testing.T) {
profile_path := "test_profiles/TestSession"
profile := create_or_load_profile(profile_path)
jar, err := cookiejar.New(nil)
if err != nil {
panic(err)
}
api := scraper.API{
UserHandle: "testUser",
IsAuthenticated: true,
Client: http.Client{
Timeout: 10 * time.Second,
Jar: jar,
},
CSRFToken: fmt.Sprint(rand.Int()),
}
// Save and load the session; it should come back the same
profile.SaveSession(api)
new_api := profile.LoadSession(api.UserHandle)
if diff := deep.Equal(api, new_api); diff != nil {
t.Error(diff)
}
}