Compare commits
4 commits
b8fc873850
...
c73dfc0d3a
| Author | SHA1 | Date | |
|---|---|---|---|
| c73dfc0d3a | |||
| 8a069859ea | |||
| c703a26c10 | |||
| 25ed67b2e9 |
16 changed files with 72 additions and 56 deletions
|
|
@ -75,6 +75,6 @@ tasks:
|
|||
sources:
|
||||
- '**/*.go'
|
||||
generates:
|
||||
- build/lenore
|
||||
- build/combluotion
|
||||
cmds:
|
||||
- go build -o build/lenore cmd/lenore/main.go
|
||||
- go build -o build/combluotion cmd/combluotion/main.go
|
||||
|
|
|
|||
8
app.go
8
app.go
|
|
@ -1,13 +1,13 @@
|
|||
package lenore
|
||||
package combluotion
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
_ "codeberg.org/danjones000/lenore/imports"
|
||||
"codeberg.org/danjones000/lenore/store"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
_ "codeberg.org/danjones000/combluotion/imports"
|
||||
"codeberg.org/danjones000/combluotion/store"
|
||||
vocab "github.com/go-ap/activitypub"
|
||||
"github.com/go-ap/client"
|
||||
boxap "github.com/go-ap/fedbox/activitypub"
|
||||
|
|
|
|||
18
app_test.go
18
app_test.go
|
|
@ -1,11 +1,11 @@
|
|||
package lenore
|
||||
package combluotion
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/lenore/internal/testmocks"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
"codeberg.org/danjones000/combluotion/internal/testmocks"
|
||||
vocab "github.com/go-ap/activitypub"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
|
@ -22,7 +22,7 @@ func TestDefaultEnvironment(t *testing.T) {
|
|||
a, er := NewApp("0.0.0", c, testmocks.GetStore())
|
||||
assert.NoError(t, er)
|
||||
if assert.NotNil(t, a) {
|
||||
assert.Equal(t, config.DEV, a.Environment())
|
||||
assert.Equal(t, config.Dev, a.Environment())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -31,11 +31,11 @@ func TestGivenEnvironment(t *testing.T) {
|
|||
given config.Env
|
||||
exp config.Env
|
||||
}{
|
||||
{config.DEV, config.DEV},
|
||||
{config.PROD, config.PROD},
|
||||
{config.QA, config.QA},
|
||||
{config.Env("foo"), config.DEV},
|
||||
{config.Env("✨"), config.DEV},
|
||||
{config.Dev, config.Dev},
|
||||
{config.Prod, config.Prod},
|
||||
{config.Qa, config.Qa},
|
||||
{config.Env("foo"), config.Dev},
|
||||
{config.Env("✨"), config.Dev},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
|
|
|
|||
|
|
@ -6,20 +6,22 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
|
||||
"codeberg.org/danjones000/lenore"
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/lenore/store"
|
||||
"codeberg.org/danjones000/combluotion"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
"codeberg.org/danjones000/combluotion/store"
|
||||
)
|
||||
|
||||
func main() {
|
||||
conf, err := config.LoadFromToml(getTomlFile())
|
||||
f := getTomlFile()
|
||||
defer os.Remove(f)
|
||||
conf, err := config.LoadFromToml(f)
|
||||
quitErr(err)
|
||||
fmt.Printf("%+v\n", conf)
|
||||
|
||||
db, err := store.MakeStore(conf.Conn.Store, conf)
|
||||
quitErr(err)
|
||||
|
||||
app, err := lenore.NewApp(config.Version, conf, db)
|
||||
app, err := combluotion.NewApp(config.Version, conf, db)
|
||||
quitErr(err)
|
||||
|
||||
fmt.Println(app)
|
||||
|
|
@ -28,6 +30,7 @@ func main() {
|
|||
fmt.Println(string(out))
|
||||
fmt.Println(serv.ID)
|
||||
}
|
||||
|
||||
func quitErr(err error) {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
|
@ -36,9 +39,7 @@ func quitErr(err error) {
|
|||
|
||||
func getTomlFile() string {
|
||||
tmp, err := os.CreateTemp("", "*.toml")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
quitErr(err)
|
||||
defer tmp.Close()
|
||||
|
||||
p := tmp.Name()
|
||||
|
|
@ -8,12 +8,12 @@ import (
|
|||
|
||||
func TestEnvDefaultsToDev(t *testing.T) {
|
||||
c := Config{}
|
||||
assert.Equal(t, DEV, c.Environment())
|
||||
assert.Equal(t, Dev, c.Environment())
|
||||
}
|
||||
|
||||
func TestInvalidEnvReturnsDev(t *testing.T) {
|
||||
c := Config{Env: Env("foobar")}
|
||||
assert.Equal(t, DEV, c.Environment())
|
||||
assert.Equal(t, Dev, c.Environment())
|
||||
}
|
||||
|
||||
func TestValidEnvReturnsCorrect(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -3,24 +3,24 @@ package config
|
|||
type Env string
|
||||
|
||||
const (
|
||||
DEV Env = "dev"
|
||||
PROD Env = "prod"
|
||||
QA Env = "qa"
|
||||
TEST Env = "test"
|
||||
Dev Env = "dev"
|
||||
Prod Env = "prod"
|
||||
Qa Env = "qa"
|
||||
Test Env = "test"
|
||||
)
|
||||
|
||||
var Envs = [...]Env{
|
||||
DEV,
|
||||
PROD,
|
||||
QA,
|
||||
TEST,
|
||||
Dev,
|
||||
Prod,
|
||||
Qa,
|
||||
Test,
|
||||
}
|
||||
|
||||
func ValidEnvOrDev(e Env) Env {
|
||||
if ValidEnv(e) {
|
||||
return e
|
||||
}
|
||||
return DEV
|
||||
return Dev
|
||||
}
|
||||
|
||||
func ValidEnv(env Env) bool {
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ func TestValidEnv(t *testing.T) {
|
|||
e Env
|
||||
exp bool
|
||||
}{
|
||||
{DEV, true},
|
||||
{PROD, true},
|
||||
{QA, true},
|
||||
{TEST, true},
|
||||
{Dev, true},
|
||||
{Prod, true},
|
||||
{Qa, true},
|
||||
{Test, true},
|
||||
{Env("foobar"), false},
|
||||
{Env(""), false},
|
||||
{Env("✨"), false},
|
||||
|
|
@ -42,13 +42,13 @@ func TestValidEnvOrDev(t *testing.T) {
|
|||
give Env
|
||||
exp Env
|
||||
}{
|
||||
{DEV, DEV},
|
||||
{PROD, PROD},
|
||||
{QA, QA},
|
||||
{TEST, TEST},
|
||||
{Env("foobar"), DEV},
|
||||
{Env(""), DEV},
|
||||
{Env("✨"), DEV},
|
||||
{Dev, Dev},
|
||||
{Prod, Prod},
|
||||
{Qa, Qa},
|
||||
{Test, Test},
|
||||
{Env("foobar"), Dev},
|
||||
{Env(""), Dev},
|
||||
{Env("✨"), Dev},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ func TestLoadTomlMissing(t *testing.T) {
|
|||
|
||||
func TestLoadTomlGood(t *testing.T) {
|
||||
tmp, _ := os.CreateTemp("", "*.toml")
|
||||
defer os.Remove(tmp.Name())
|
||||
defer tmp.Close()
|
||||
fmt.Fprintln(tmp, `name = "Cool"`)
|
||||
fmt.Fprintln(tmp, "[conn]")
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package config
|
||||
|
||||
const (
|
||||
AppName string = "lenore"
|
||||
AppName string = "combluotion"
|
||||
Version string = "0.0.1"
|
||||
Url string = "https://codeberg.org/danjones000/lenore"
|
||||
Url string = "https://codeberg.org/danjones000/combluotion"
|
||||
DevUrl string = "https://codeberg.org/danjones000"
|
||||
Email string = "danjones@goodevilgenius.org"
|
||||
UserAgent string = AppName + "/" + Version + " (" + Url + "; " + Email + ")"
|
||||
|
|
|
|||
2
go.mod
2
go.mod
|
|
@ -1,4 +1,4 @@
|
|||
module codeberg.org/danjones000/lenore
|
||||
module codeberg.org/danjones000/combluotion
|
||||
|
||||
go 1.23.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
package imports
|
||||
|
||||
import (
|
||||
_ "codeberg.org/danjones000/lenore/store/sqlite"
|
||||
_ "codeberg.org/danjones000/combluotion/store/sqlite"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package testmocks
|
||||
|
||||
import (
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
vocab "github.com/go-ap/activitypub"
|
||||
"github.com/go-ap/filters"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
)
|
||||
|
||||
var ErrNoFactory = errors.New("unknown factory")
|
||||
|
|
@ -26,6 +26,10 @@ func GetFactory(name string) StoreFactory {
|
|||
}
|
||||
|
||||
func MakeStore(name string, conf config.Config) (Store, error) {
|
||||
if name == "" {
|
||||
name = conf.Conn.Store
|
||||
}
|
||||
|
||||
f, ok := factories[name]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("%w: %s", ErrNoFactory, name)
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package store
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/lenore/internal/testmocks"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
"codeberg.org/danjones000/combluotion/internal/testmocks"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
|
@ -45,3 +45,13 @@ func TestMakeStoreNoError(t *testing.T) {
|
|||
assert.NotNil(t, s)
|
||||
assert.NoError(t, e)
|
||||
}
|
||||
|
||||
func TestMakeStoreNoName(t *testing.T) {
|
||||
AddFactory("mock", f)
|
||||
defer delete(factories, "mock")
|
||||
s, e := MakeStore("", config.Config{
|
||||
Conn: config.ConnSettings{Store: "mock"},
|
||||
})
|
||||
assert.NotNil(t, s)
|
||||
assert.NoError(t, e)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package sqlite
|
||||
|
||||
import (
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/lenore/store"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
"codeberg.org/danjones000/combluotion/store"
|
||||
"github.com/go-ap/storage-sqlite"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package store
|
||||
|
||||
import (
|
||||
"codeberg.org/danjones000/lenore/config"
|
||||
"codeberg.org/danjones000/combluotion/config"
|
||||
st "github.com/go-ap/fedbox/storage"
|
||||
proc "github.com/go-ap/processing"
|
||||
"github.com/openshift/osin"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue