Compare commits
	
		
			No commits in common. "d6546e5ff979c56de3af36e8b55f0015528ccf82" and "bdc625b57e44431196f10ee6e76c571a4e3a5974" have entirely different histories.
		
	
	
		
			
				d6546e5ff9
			
			...
			
				bdc625b57e
			
		
	
		
					 6 changed files with 28 additions and 83 deletions
				
			
		
							
								
								
									
										54
									
								
								Taskfile.yml
									
										
									
									
									
								
							
							
						
						
									
										54
									
								
								Taskfile.yml
									
										
									
									
									
								
							|  | @ -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
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								app.go
									
										
									
									
									
								
							|  | @ -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() | ||||
|  |  | |||
|  | @ -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
									
									
								
							
							
						
						
									
										3
									
								
								build/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,2 +1 @@ | |||
| * | ||||
| !.gitignore | ||||
| lenore | ||||
|  |  | |||
|  | @ -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) | ||||
| } | ||||
|  |  | |||
|  | @ -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 + ")" | ||||
| ) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue