postgres count tests were just duplicated of the query tests.
This commit is contained in:
@@ -183,130 +183,3 @@ func strSlice(n int) []string {
|
|||||||
}
|
}
|
||||||
return slice
|
return slice
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCountEventsSql(t *testing.T) {
|
|
||||||
tests := []struct {
|
|
||||||
name string
|
|
||||||
backend PostgresBackend
|
|
||||||
filter nostr.Filter
|
|
||||||
query string
|
|
||||||
params []any
|
|
||||||
err error
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
name: "empty filter",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{},
|
|
||||||
query: "SELECT COUNT(*) FROM event WHERE true ORDER BY created_at DESC LIMIT $1",
|
|
||||||
params: []any{100},
|
|
||||||
err: nil,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "ids filter",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
IDs: []string{"083ec57f36a7b39ab98a57bedab4f85355b2ee89e4b205bed58d7c3ef9edd294"},
|
|
||||||
},
|
|
||||||
query: `SELECT COUNT(*)
|
|
||||||
FROM event
|
|
||||||
WHERE (id LIKE '083ec57f36a7b39ab98a57bedab4f85355b2ee89e4b205bed58d7c3ef9edd294%')
|
|
||||||
ORDER BY created_at DESC LIMIT $1`,
|
|
||||||
params: []any{100},
|
|
||||||
err: nil,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "kind filter",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Kinds: []int{1, 2, 3},
|
|
||||||
},
|
|
||||||
query: `SELECT COUNT(*)
|
|
||||||
FROM event
|
|
||||||
WHERE kind IN(1,2,3)
|
|
||||||
ORDER BY created_at DESC LIMIT $1`,
|
|
||||||
params: []any{100},
|
|
||||||
err: nil,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "authors filter",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Authors: []string{"7bdef7bdebb8721f77927d0e77c66059360fa62371fdf15f3add93923a613229"},
|
|
||||||
},
|
|
||||||
query: `SELECT COUNT(*)
|
|
||||||
FROM event
|
|
||||||
WHERE (pubkey LIKE '7bdef7bdebb8721f77927d0e77c66059360fa62371fdf15f3add93923a613229%')
|
|
||||||
ORDER BY created_at DESC LIMIT $1`,
|
|
||||||
params: []any{100},
|
|
||||||
err: nil,
|
|
||||||
},
|
|
||||||
// errors
|
|
||||||
{
|
|
||||||
name: "too many ids",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
IDs: strSlice(501),
|
|
||||||
},
|
|
||||||
query: "",
|
|
||||||
params: nil,
|
|
||||||
err: TooManyIDs,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "too many authors",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Authors: strSlice(501),
|
|
||||||
},
|
|
||||||
query: "",
|
|
||||||
params: nil,
|
|
||||||
err: TooManyAuthors,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "too many kinds",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Kinds: intSlice(11),
|
|
||||||
},
|
|
||||||
query: "",
|
|
||||||
params: nil,
|
|
||||||
err: TooManyKinds,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "tags of empty array",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Tags: nostr.TagMap{
|
|
||||||
"#e": []string{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
query: "",
|
|
||||||
params: nil,
|
|
||||||
err: EmptyTagSet,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "too many tag values",
|
|
||||||
backend: defaultBackend,
|
|
||||||
filter: nostr.Filter{
|
|
||||||
Tags: nostr.TagMap{
|
|
||||||
"#e": strSlice(11),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
query: "",
|
|
||||||
params: nil,
|
|
||||||
err: TooManyTagValues,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, tt := range tests {
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
|
||||||
query, params, err := tt.backend.queryEventsSql(tt.filter, true)
|
|
||||||
assert.Equal(t, tt.err, err)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.Equal(t, clean(tt.query), clean(query))
|
|
||||||
assert.Equal(t, tt.params, params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user