Compare commits

..

No commits in common. "d6546e5ff979c56de3af36e8b55f0015528ccf82" and "bdc625b57e44431196f10ee6e76c571a4e3a5974" have entirely different histories.

6 changed files with 28 additions and 83 deletions

View file

@ -9,65 +9,13 @@ tasks:
fmt:
desc: Format go code
sources:
- '**/*.go'
cmds:
- go fmt ./...
vet:
desc: Vet go code
sources:
- '**/*.go'
cmds:
- go vet ./...
critic:
desc: Critique go code
sources:
- '**/*.go'
cmds:
- gocritic check ./...
staticcheck:
desc: Static check go code
sources:
- '**/*.go'
cmds:
- staticcheck ./...
analyze:
desc: Do static analysis
deps:
- vet
- critic
- staticcheck
test:
desc: Run unit tests
deps: [fmt, vet]
sources:
- '**/*.go'
generates:
- build/cover.out
cmds:
- go test -race -cover -coverprofile build/cover.out ./...
coverage-report:
desc: Build coverage report
deps: [test]
sources:
- build/cover.out
generates:
- build/cover.html
cmds:
- go tool cover -html=build/cover.out -o build/cover.html
serve-report:
desc: Serve the coverage report
deps: [coverage-report]
cmds:
- ip addr list | grep inet
- php -S 0.0.0.0:3265 -t build
- go test -race -cover ./...
build:
desc: Build server binary

17
app.go
View file

@ -3,7 +3,6 @@ package lenore
import (
"errors"
"fmt"
"time"
"codeberg.org/danjones000/lenore/config"
"codeberg.org/danjones000/lenore/store"
@ -12,10 +11,6 @@ import (
boxap "github.com/go-ap/fedbox/activitypub"
)
func init() {
client.UserAgent = config.UserAgent
}
type App struct {
conf config.Config
self vocab.Service
@ -27,7 +22,7 @@ type App struct {
func NewApp(ver string, conf config.Config, db store.Store) (*App, error) {
if conf.BaseURL == "" {
return nil, errors.New("missing BaseURL")
return nil, errors.New("Missing BaseURL")
}
app := App{
version: ver,
@ -35,12 +30,10 @@ func NewApp(ver string, conf config.Config, db store.Store) (*App, error) {
}
selfIRI := boxap.DefaultServiceIRI(conf.BaseURL)
self := boxap.Self(selfIRI)
self.Name = vocab.DefaultNaturalLanguageValue(app.Name())
self.AttributedTo = vocab.IRI(config.DevUrl)
self.Summary = vocab.DefaultNaturalLanguageValue("ActivityPub-powered reader")
self.Published = time.Now()
self.Updated = time.Now()
self, err := boxap.LoadActor(db, selfIRI)
if err != nil {
return nil, err
}
app.self = self
app.client = *client.New()

View file

@ -14,7 +14,7 @@ func TestEmptyBaseURL(t *testing.T) {
c := config.Config{}
a, er := NewApp("0.0.0", c, testmocks.GetStore())
assert.Nil(t, a)
assert.EqualError(t, er, "missing BaseURL")
assert.EqualError(t, er, "Missing BaseURL")
}
func TestDefaultEnvironment(t *testing.T) {

3
build/.gitignore vendored
View file

@ -1,2 +1 @@
*
!.gitignore
lenore

View file

@ -4,29 +4,44 @@ package main
import (
"fmt"
"time"
"codeberg.org/danjones000/lenore"
"codeberg.org/danjones000/lenore/config"
vocab "github.com/go-ap/activitypub"
boxap "github.com/go-ap/fedbox/activitypub"
"github.com/go-ap/storage-sqlite"
)
func main() {
conf := config.Config{BaseURL: "http://localhost:4523/"}
sqlConf := sqlite.Config{Path: "storage"}
err := sqlite.Bootstrap(sqlConf)
if err != nil {
panic(err)
}
db, err := sqlite.New(sqlConf)
if err != nil {
panic(err)
}
app, err := lenore.NewApp(config.Version, conf, db)
serv := vocab.ServiceNew(boxap.DefaultServiceIRI(conf.BaseURL))
serv.Name = vocab.DefaultNaturalLanguageValue("Lenore")
serv.Summary = vocab.DefaultNaturalLanguageValue("ActivityPub-powered reader")
serv.Published = time.Now()
serv.Updated = time.Now()
_, err = db.Save(serv)
if err != nil {
panic(err)
}
app, err := lenore.NewApp("0.0.0", conf, db)
if err != nil {
panic(err)
}
fmt.Println(app)
serv := app.Service()
out, _ := serv.MarshalJSON()
fmt.Println(string(out))
fmt.Println(serv.ID)
fmt.Println(app.Service().ID)
}

View file

@ -1,10 +0,0 @@
package config
const (
AppName string = "lenore"
Version string = "0.0.1"
Url string = "https://codeberg.org/danjones000/lenore"
DevUrl string = "https://codeberg.org/danjones000"
Email string = "danjones@goodevilgenius.org"
UserAgent string = AppName + "/" + Version + " (" + Url + "; " + Email + ")"
)