package shrty import ( "github.com/stretchr/testify/assert" "testing" "os" "time" ) const path = "short_test.db" // This test seems to be not working correctly func TestStorage_Short(t *testing.T) { s, err := Open(path) defer os.Remove(path) assert.NoError(t, err) var token string err = s.Short("http://bit.ly/2scBYES", &token) expected := &Data{ URL:"http://bit.ly/2scBYES", URLFetched:"https://www.youtube.com/watch?v=bouIpFd9VGM", CanonicalURL:"", OriginalURL:"https://www.youtube.com/watch?v=bouIpFd9VGM", Domain:"www.youtube.com", Hash:"c921ca733b92ca7b57782e9f12a3fe60dbc6b91a317fc419e13f8f5b5805232f", Token:"c", Meta: Meta{ Title:"", Image:"", Description:"", Type:""}, FavIconLink:"", HTTPStatusCode:"200", Category:"", Created:s.Token[token].Created, Clicks:0, } assert.NoError(t, err) assert.Equal(t, expected, s.Token[token]) } // Whats wrong with this Test? func TestStorage_Get(t *testing.T) { s, err := Open(path) defer os.Remove(path) var d Data empty := Data{} ok := s.Get("notexist", &d) assert.Equal(t, empty, d) assert.Equal(t, false, ok) var token string err = s.Short("http://bit.ly/2scBYES", &token) assert.NoError(t, err) assert.Equal(t, "c", token) expected := &Data{ URL:"http://bit.ly/2scBYES", URLFetched:"https://www.youtube.com/watch?v=bouIpFd9VGM", CanonicalURL:"", OriginalURL:"https://www.youtube.com/watch?v=bouIpFd9VGM", Domain:"www.youtube.com", Hash:"c921ca733b92ca7b57782e9f12a3fe60dbc6b91a317fc419e13f8f5b5805232f", Token:"c", Meta: Meta{ Title:"", Image:"", Description:"", Type:""}, FavIconLink:"", HTTPStatusCode:"200", Category:"", Created:s.Token[token].Created, Clicks:0, } ok = s.Get(token, &d) assert.Equal(t, expected, &d) } func TestStore_Exist(t *testing.T) { s, err := Open("test.db") defer os.Remove(path) d := &Data{ URL:"http://bit.ly/2scBYES", URLFetched:"https://www.youtube.com/watch?v=bouIpFd9VGM", CanonicalURL:"", OriginalURL:"https://www.youtube.com/watch?v=bouIpFd9VGM", Domain:"www.youtube.com", Hash:"c921ca733b92ca7b57782e9f12a3fe60dbc6b91a317fc419e13f8f5b5805232f", Token:"c", Meta: Meta{ Title:"", Image:"", Description:"", Type:""}, FavIconLink:"", HTTPStatusCode:"200", Category:"", Created:time.Now().String(), Clicks:0, } notexist := s.Exist(d) assert.Equal(t, false, notexist) var token string err = s.Short(d.URL, &token) assert.NoError(t, err) exist := s.Exist(d) assert.Equal(t, true, exist) } func TestStore_Redirect(t *testing.T) { s, err := Open(path) defer os.Remove(path) url, ok := s.Redirect("notexist") assert.Equal(t, "", url) assert.Equal(t, false, ok) var token string err = s.Short("http://bit.ly/2scBYES", &token) assert.NoError(t, err) expected := &Data{ URL:"http://bit.ly/2scBYES", URLFetched:"https://www.youtube.com/watch?v=bouIpFd9VGM", CanonicalURL:"", OriginalURL:"https://www.youtube.com/watch?v=bouIpFd9VGM", Domain:"www.youtube.com", Hash:"c921ca733b92ca7b57782e9f12a3fe60dbc6b91a317fc419e13f8f5b5805232f", Token:"c", Meta: Meta{ Title:"", Image:"", Description:"", Type:""}, FavIconLink:"", HTTPStatusCode:"200", Category:"", Created:time.Now().String(), Clicks:0, } url, ok = s.Redirect(token) assert.Equal(t, expected.OriginalURL, url) } //func TestStore_GetAll(t *testing.T) { //}