arnaucube
arnaucube/mirror-to-giteaPublic Self-hosted repository
refactoring
Dennis Jekubczyk dennis.jekubczyk@gmail.com
Mon, 24 May 2021 16:59:21 +0200
commit

5bde8d1f36babfdbeb14145272ccd449b319ce75

parent

aabd00dbba5e6059493c68cb8a0461773c560a85

A internal/app/app_suite_test.go

@@ -0,0 +1,13 @@

+package app_test + +import ( + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestApp(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "App Suite") +}
A internal/app/mirror.go

@@ -0,0 +1,7 @@

+package app + +import "github.com/jaedle/mirror-to-gitea/internal/config" + +type ConfigReader interface { + Read() (*config.Config, error) +}
A internal/app/mirror_test.go

@@ -0,0 +1,9 @@

+package app_test + +import ( + . "github.com/onsi/ginkgo" +) + +var _ = Describe("Mirror", func() { + +})
M internal/config/read.go → internal/config/read.go

@@ -25,29 +25,6 @@ Username string

Token *string } -func Read() (*Config, error) { - mirrorMode, err := readMirrorMode() - if err != nil { - return nil, err - } - - gitea, err := readGiteaConfig() - if err != nil { - return nil, err - } - - github, err := readGithubConfig() - if err != nil { - return nil, err - } - - return &Config{ - MirrorMode: mirrorMode, - Gitea: gitea, - Github: github, - }, nil -} - func readGiteaConfig() (Gitea, error) { url, a := os.LookupEnv("GITEA_URL") if !a {

@@ -99,3 +76,33 @@ return "", fmt.Errorf("unknown mirror mode %s, please specify a valid mirror mode: PUBLIC, PRIVATE_AND_PUBLIC", input)

} } + +type Reader struct { +} + +func (r Reader) Read() (*Config, error) { + mirrorMode, err := readMirrorMode() + if err != nil { + return nil, err + } + + gitea, err := readGiteaConfig() + if err != nil { + return nil, err + } + + github, err := readGithubConfig() + if err != nil { + return nil, err + } + + return &Config{ + MirrorMode: mirrorMode, + Gitea: gitea, + Github: github, + }, nil +} + +func NewReader() *Reader { + return &Reader{} +}
M internal/config/read_test.go → internal/config/read_test.go

@@ -23,14 +23,18 @@ const aGithubUsername = "a-github-user"

const aGithubToken = "a-github-token" var _ = Describe("Read", func() { + + var reader *config.Reader + BeforeEach(func() { os.Clearenv() + reader = config.NewReader() }) It("parses valid configuration", func() { aValidEnv() - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c).ToNot(BeNil()) })

@@ -41,7 +45,7 @@ aValidEnv()

setEnv(githubUsername, aGithubUsername) unsetEnv(githubToken) - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c.Github.Username).To(Equal(aGithubUsername))

@@ -53,7 +57,7 @@ aValidEnv()

setEnv(githubUsername, aGithubUsername) setEnv(githubToken, aGithubToken) - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c.Github.Username).To(Equal(aGithubUsername))

@@ -64,7 +68,7 @@ It("fails on missing username", func() {

aValidEnv() unsetEnv(githubUsername) - c, err := config.Read() + c, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(c).To(BeNil())

@@ -78,7 +82,7 @@ aValidEnv()

setEnv(giteaUrl, "https://gitea.url/api") setEnv(giteaToken, "a-gitea-token") - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c.Gitea.Url).To(Equal("https://gitea.url/api"))

@@ -89,7 +93,7 @@ It("fails on missing gitea url", func() {

aValidEnv() unsetEnv(giteaUrl) - c, err := config.Read() + c, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(c).To(BeNil())

@@ -100,7 +104,7 @@ It("fails on missing gitea token", func() {

aValidEnv() unsetEnv(giteaToken) - c, err := config.Read() + c, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(c).To(BeNil())

@@ -114,7 +118,7 @@ It("sets default mirror mode", func() {

aValidEnv() unsetEnv(mirrorMode) - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c.MirrorMode).To(Equal(config.MirrorModePublic))

@@ -124,7 +128,7 @@ DescribeTable("parses mirror mode: ", func(in string, exp string) {

aValidEnv() setEnv(mirrorMode, in) - c, err := config.Read() + c, err := reader.Read() Expect(err).NotTo(HaveOccurred()) Expect(c.MirrorMode).To(Equal(exp))

@@ -137,7 +141,7 @@ It("fails on unknown mirror mode", func() {

aValidEnv() setEnv(mirrorMode, unknownMirrorMode) - c, err := config.Read() + c, err := reader.Read() Expect(err).To(HaveOccurred()) Expect(c).To(BeNil())