summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-06-04 20:09:49 +0300
committerPaul Buetow <paul@buetow.org>2024-06-04 20:09:49 +0300
commitdd082e2729e26d8779d96b9f11bacff5be095ca4 (patch)
treef6d16d875a3b0f07736b8780014a7129f5ebeb4d
parentc294a9ea142fde08eadea8c0555ba95b0d68e757 (diff)
refactor some tests
-rw-r--r--internal/server/repository/repository_test.go67
1 files changed, 28 insertions, 39 deletions
diff --git a/internal/server/repository/repository_test.go b/internal/server/repository/repository_test.go
index 7c87efb..3868870 100644
--- a/internal/server/repository/repository_test.go
+++ b/internal/server/repository/repository_test.go
@@ -7,43 +7,32 @@ import (
"codeberg.org/snonux/gos/internal/vfs"
)
-func TestRepositoryGet(t *testing.T) {
+func TestRepositoryPutGet(t *testing.T) {
t.Parallel()
- repo, entry, _, err := setupRepository()
- if err != nil {
- t.Error(err)
- return
- }
-
- if err := repo.put(entry); err != nil {
- t.Error(err)
- return
- }
- list, err := repo.List()
- if err != err {
- t.Error(err)
- return
- }
- t.Log(string(list))
-
- entryGot, ok := repo.Get(entry.ID)
- if !ok {
- t.Errorf("could not find entry with id %s in repo", entry.ID)
- return
- }
- if !entryGot.Equals(entry) {
- t.Error("expected to get", entry, "but got", entryGot)
+ fs := make(vfs.MemoryFS)
+ repo := newRepository("./data", fs)
+
+ entry1, _ := makeAnEntry(fs)
+ entry2, _ := makeAnotherEntry(fs)
+ entries := []types.Entry{entry1, entry2}
+
+ for _, entry := range entries {
+ _ = repo.put(entry)
+ entryGot, ok := repo.Get(entry.ID)
+ if !ok {
+ t.Errorf("could not find entry with id %s in repo", entry.ID)
+ return
+ }
+ if !entryGot.Equals(entry) {
+ t.Error("expected to get", entry, "but got", entryGot)
+ return
+ }
}
}
-// TODO: Write unit tests for the remainder of the repo methods
-
-func setupRepository() (repo Repository, entry1, entry2 types.Entry, err error) {
- fs := make(vfs.MemoryFS)
- repo = newRepository("./data", fs)
-
- entry1Str := `
+func makeAnEntry(fs fs) (types.Entry, error) {
+ entry := `
{
"Body": "Body text here",
"Shared": [
@@ -52,12 +41,11 @@ func setupRepository() (repo Repository, entry1, entry2 types.Entry, err error)
]
}
`
- entry1, err = types.NewEntry([]byte(entry1Str), fs)
- if err != nil {
- return
- }
+ return types.NewEntry([]byte(entry), fs)
+}
- entry2Str := `
+func makeAnotherEntry(fs fs) (types.Entry, error) {
+ entry := `
{
"Body": "Body text here",
"Shared": [
@@ -67,6 +55,7 @@ func setupRepository() (repo Repository, entry1, entry2 types.Entry, err error)
]
}
`
- entry2, err = types.NewEntry([]byte(entry2Str), fs)
- return
+ return types.NewEntry([]byte(entry), fs)
}
+
+// TODO: Write unit tests for the remainder of the repo methods