summaryrefslogtreecommitdiff
path: root/internal/db/bundb/admin_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-10-08 13:50:48 +0200
committerLibravatar GitHub <noreply@github.com>2022-10-08 13:50:48 +0200
commitaa07750bdb4dacdb1be39d765114915bba3fc29f (patch)
tree30e9e5052f607f8c8e4f7d518559df8706275e0f /internal/db/bundb/admin_test.go
parent[performance] cache domains after max retries in transport (#884) (diff)
downloadgotosocial-aa07750bdb4dacdb1be39d765114915bba3fc29f.tar.xz
[chore] Standardize database queries, use `bun.Ident()` properly (#886)
* use bun.Ident for user queries * use bun.Ident for account queries * use bun.Ident for media queries * add DeleteAccount func * remove CaseInsensitive in Where+use Ident ipv Safe * update admin db * update domain, use ident * update emoji, use ident * update instance queries, use bun.Ident * fix media * update mentions, use bun ident * update relationship + tests * use tableexpr * add test follows to bun db test suite * update notifications * updatebyprimarykey => updatebyid * fix session * prefer explicit ID to pk * fix little fucky wucky * remove workaround * use proper db func for attachment selection * update status db * add m2m entries in test rig * fix up timeline * go fmt * fix status put issue * update GetAccountStatuses
Diffstat (limited to 'internal/db/bundb/admin_test.go')
-rw-r--r--internal/db/bundb/admin_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/internal/db/bundb/admin_test.go b/internal/db/bundb/admin_test.go
index 22041087a..f0a869a9b 100644
--- a/internal/db/bundb/admin_test.go
+++ b/internal/db/bundb/admin_test.go
@@ -23,6 +23,7 @@ import (
"testing"
"github.com/stretchr/testify/suite"
+ gtsmodel "github.com/superseriousbusiness/gotosocial/internal/db/bundb/migrations/20211113114307_init"
"github.com/superseriousbusiness/gotosocial/testrig"
)
@@ -30,6 +31,44 @@ type AdminTestSuite struct {
BunDBStandardTestSuite
}
+func (suite *AdminTestSuite) TestIsUsernameAvailableNo() {
+ available, err := suite.db.IsUsernameAvailable(context.Background(), "the_mighty_zork")
+ suite.NoError(err)
+ suite.False(available)
+}
+
+func (suite *AdminTestSuite) TestIsUsernameAvailableYes() {
+ available, err := suite.db.IsUsernameAvailable(context.Background(), "someone_completely_different")
+ suite.NoError(err)
+ suite.True(available)
+}
+
+func (suite *AdminTestSuite) TestIsEmailAvailableNo() {
+ available, err := suite.db.IsEmailAvailable(context.Background(), "zork@example.org")
+ suite.NoError(err)
+ suite.False(available)
+}
+
+func (suite *AdminTestSuite) TestIsEmailAvailableYes() {
+ available, err := suite.db.IsEmailAvailable(context.Background(), "someone@somewhere.com")
+ suite.NoError(err)
+ suite.True(available)
+}
+
+func (suite *AdminTestSuite) TestIsEmailAvailableDomainBlocked() {
+ if err := suite.db.Put(context.Background(), &gtsmodel.EmailDomainBlock{
+ ID: "01GEEV2R2YC5GRSN96761YJE47",
+ Domain: "somewhere.com",
+ CreatedByAccountID: suite.testAccounts["admin_account"].ID,
+ }); err != nil {
+ suite.FailNow(err.Error())
+ }
+
+ available, err := suite.db.IsEmailAvailable(context.Background(), "someone@somewhere.com")
+ suite.EqualError(err, "email domain somewhere.com is blocked")
+ suite.False(available)
+}
+
func (suite *AdminTestSuite) TestCreateInstanceAccount() {
// we need to take an empty db for this...
testrig.StandardDBTeardown(suite.db)