mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-01 06:50:00 +00:00
ed46224573
* Add SQLite support, fix un-thread-safe DB caches, small performance fixes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add SQLite licenses to README Signed-off-by: kim (grufwub) <grufwub@gmail.com> * appease the linter, and fix my dumbass-ery Signed-off-by: kim (grufwub) <grufwub@gmail.com> * make requested changes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add back comment Signed-off-by: kim (grufwub) <grufwub@gmail.com>
42 lines
961 B
Go
42 lines
961 B
Go
package cache_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/superseriousbusiness/gotosocial/internal/cache"
|
|
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
|
)
|
|
|
|
func TestStatusCache(t *testing.T) {
|
|
cache := cache.NewStatusCache()
|
|
|
|
// Attempt to place a status
|
|
status := gtsmodel.Status{
|
|
ID: "id",
|
|
URI: "uri",
|
|
URL: "url",
|
|
}
|
|
cache.Put(&status)
|
|
|
|
var ok bool
|
|
var check *gtsmodel.Status
|
|
|
|
// Check we can retrieve
|
|
check, ok = cache.GetByID(status.ID)
|
|
if !ok || !statusIs(&status, check) {
|
|
t.Fatal("Could not find expected status")
|
|
}
|
|
check, ok = cache.GetByURI(status.URI)
|
|
if !ok || !statusIs(&status, check) {
|
|
t.Fatal("Could not find expected status")
|
|
}
|
|
check, ok = cache.GetByURL(status.URL)
|
|
if !ok || !statusIs(&status, check) {
|
|
t.Fatal("Could not find expected status")
|
|
}
|
|
}
|
|
|
|
func statusIs(status1, status2 *gtsmodel.Status) bool {
|
|
return status1.ID == status2.ID && status1.URI == status2.URI && status1.URL == status2.URL
|
|
}
|