mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-28 08:38:12 -05:00
70 lines
2.1 KiB
Go
70 lines
2.1 KiB
Go
package parser_test
|
|
|
|
import (
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
|
|
"github.com/opencloud-eu/opencloud/pkg/shared"
|
|
"github.com/opencloud-eu/opencloud/services/graph/pkg/config"
|
|
"github.com/opencloud-eu/opencloud/services/graph/pkg/config/defaults"
|
|
"github.com/opencloud-eu/opencloud/services/graph/pkg/config/parser"
|
|
)
|
|
|
|
var _ = Describe("Validate", func() {
|
|
var cfg *config.Config
|
|
|
|
BeforeEach(func() {
|
|
cfg = defaults.DefaultConfig()
|
|
cfg.Application.ID = "graph-app-id"
|
|
cfg.ServiceAccount.ServiceAccountID = "graph-service-account"
|
|
cfg.ServiceAccount.ServiceAccountSecret = "graph-service-password"
|
|
cfg.Commons = &shared.Commons{
|
|
TokenManager: &shared.TokenManager{
|
|
JWTSecret: "jwt-secret",
|
|
},
|
|
}
|
|
defaults.EnsureDefaults(cfg)
|
|
})
|
|
|
|
When("multi-tenant support is disabled", func() {
|
|
It("should accept a setup with the 'cs3' identity backend", func() {
|
|
cfg.Identity.Backend = "cs3"
|
|
err := parser.Validate(cfg)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|
|
It("should accept a setup with the 'ldap' identity backend", func() {
|
|
cfg.Identity.Backend = "ldap"
|
|
// we need to set a password to pass validation
|
|
cfg.Identity.LDAP.BindPassword = "bind-password"
|
|
err := parser.Validate(cfg)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|
|
})
|
|
|
|
When("multi-tenant support is disabled", func() {
|
|
BeforeEach(func() {
|
|
cfg.Commons.MultiTenantEnabled = true
|
|
})
|
|
It("should accept a setup with the 'cs3' identity backend", func() {
|
|
cfg.Identity.Backend = "cs3"
|
|
err := parser.Validate(cfg)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|
|
|
|
It("should reject a setup with the 'ldap' identity backend", func() {
|
|
cfg.Identity.Backend = "ldap"
|
|
cfg.Identity.LDAP.BindPassword = "bind-password"
|
|
err := parser.Validate(cfg)
|
|
Expect(err).To(HaveOccurred())
|
|
Expect(err).To(MatchError(ContainSubstring("The identity backend must be set to 'cs3' for the 'graph' service.")))
|
|
})
|
|
})
|
|
|
|
It("rejcts a setup with an invalid identity backend", func() {
|
|
cfg.Identity.Backend = "invalid-backend"
|
|
err := parser.Validate(cfg)
|
|
Expect(err).To(HaveOccurred())
|
|
Expect(err).To(MatchError(ContainSubstring("is not a valid identity backend")))
|
|
})
|
|
})
|