191 lines
4.1 KiB
Go
191 lines
4.1 KiB
Go
package models
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadEmpty(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
relayState.Load()
|
|
|
|
if relayState.RelayConfig.BlockService != false {
|
|
t.Fatalf("Failed read config.")
|
|
}
|
|
if relayState.RelayConfig.CreateAsAnnounce != false {
|
|
t.Fatalf("Failed read config.")
|
|
}
|
|
if relayState.RelayConfig.ManuallyAccept != false {
|
|
t.Fatalf("Failed read config.")
|
|
}
|
|
}
|
|
|
|
func TestSetConfig(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
relayState.SetConfig(BlockService, true)
|
|
<-ch
|
|
if relayState.RelayConfig.BlockService != true {
|
|
t.Fatalf("Failed enable config.")
|
|
}
|
|
relayState.SetConfig(CreateAsAnnounce, true)
|
|
<-ch
|
|
if relayState.RelayConfig.CreateAsAnnounce != true {
|
|
t.Fatalf("Failed enable config.")
|
|
}
|
|
relayState.SetConfig(ManuallyAccept, true)
|
|
<-ch
|
|
if relayState.RelayConfig.ManuallyAccept != true {
|
|
t.Fatalf("Failed enable config.")
|
|
}
|
|
|
|
relayState.SetConfig(BlockService, false)
|
|
<-ch
|
|
if relayState.RelayConfig.BlockService != false {
|
|
t.Fatalf("Failed disable config.")
|
|
}
|
|
relayState.SetConfig(CreateAsAnnounce, false)
|
|
<-ch
|
|
if relayState.RelayConfig.CreateAsAnnounce != false {
|
|
t.Fatalf("Failed disable config.")
|
|
}
|
|
relayState.SetConfig(ManuallyAccept, false)
|
|
<-ch
|
|
if relayState.RelayConfig.ManuallyAccept != false {
|
|
t.Fatalf("Failed disable config.")
|
|
}
|
|
}
|
|
|
|
func TestTreatSubscriptionNotify(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
relayState.AddSubscription(Subscription{
|
|
Domain: "example.com",
|
|
InboxURL: "https://example.com/inbox",
|
|
})
|
|
<-ch
|
|
|
|
valid := false
|
|
for _, domain := range relayState.Subscriptions {
|
|
if domain.Domain == "example.com" && domain.InboxURL == "https://example.com/inbox" {
|
|
valid = true
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
|
|
relayState.DelSubscription("example.com")
|
|
<-ch
|
|
|
|
for _, domain := range relayState.Subscriptions {
|
|
if domain.Domain == "example.com" {
|
|
valid = false
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
}
|
|
|
|
func TestSelectDomain(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
exampleSubscription := Subscription{
|
|
Domain: "example.com",
|
|
InboxURL: "https://example.com/inbox",
|
|
}
|
|
|
|
relayState.AddSubscription(exampleSubscription)
|
|
<-ch
|
|
|
|
subscription := relayState.SelectSubscription("example.com")
|
|
if *subscription != exampleSubscription {
|
|
t.Fatalf("Failed select domain.")
|
|
}
|
|
|
|
subscription = relayState.SelectSubscription("example.org")
|
|
if subscription != nil {
|
|
t.Fatalf("Failed select domain.")
|
|
}
|
|
}
|
|
|
|
func TestBlockedDomain(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
relayState.SetBlockedDomain("example.com", true)
|
|
<-ch
|
|
|
|
valid := false
|
|
for _, domain := range relayState.BlockedDomains {
|
|
if domain == "example.com" {
|
|
valid = true
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
|
|
relayState.SetBlockedDomain("example.com", false)
|
|
<-ch
|
|
|
|
for _, domain := range relayState.BlockedDomains {
|
|
if domain == "example.com" {
|
|
valid = false
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
}
|
|
|
|
func TestLimitedDomain(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
relayState.SetLimitedDomain("example.com", true)
|
|
<-ch
|
|
|
|
valid := false
|
|
for _, domain := range relayState.LimitedDomains {
|
|
if domain == "example.com" {
|
|
valid = true
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
|
|
relayState.SetLimitedDomain("example.com", false)
|
|
<-ch
|
|
|
|
for _, domain := range relayState.LimitedDomains {
|
|
if domain == "example.com" {
|
|
valid = false
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed write config.")
|
|
}
|
|
}
|
|
|
|
func TestLoadCompatibleSubscription(t *testing.T) {
|
|
relayState.RedisClient.FlushAll().Result()
|
|
|
|
relayState.AddSubscription(Subscription{
|
|
Domain: "example.com",
|
|
InboxURL: "https://example.com/inbox",
|
|
})
|
|
|
|
relayState.RedisClient.HDel("relay:subscription:example.com", "activity_id", "actor_id")
|
|
relayState.Load()
|
|
|
|
valid := false
|
|
for _, domain := range relayState.Subscriptions {
|
|
if domain.Domain == "example.com" && domain.InboxURL == "https://example.com/inbox" {
|
|
valid = true
|
|
}
|
|
}
|
|
if !valid {
|
|
t.Fatalf("Failed load compati config.")
|
|
}
|
|
}
|