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
|
||||
}
|
||||
|
||||
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