genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0

[QS]: Comment \lib

This commit is contained in:
mlabusch 2017-05-03 07:16:45 +02:00
parent 7d67e04ce3
commit 591695c0b6
10 changed files with 33 additions and 52 deletions

View File

@ -1,5 +1,4 @@
// Package database provides the
// functionality to open, close and use a database
// Package that provides the functionality to open, close and use a database
package database
import (
@ -10,32 +9,31 @@ import (
"github.com/genofire/hs_master-kss-monolith/lib/log"
)
// Database connection for writing
// Database connection for writing purposes
var Write *gorm.DB
// Database connection for reading
// Database connection for reading purposes
var Read *gorm.DB
// Configuration files
var (
config *Config
runtime []interface{}
)
// configuration for the database connection
// Configuration of the database connection
type Config struct {
// type of database: current support sqlite and postgres
// (by request other could be enabled)
// type of the database, currently supports sqlite and postgres
Type string
// connection configuration
Connection string
// maybe create another connection just for reading
// create another connection for reading only
ReadConnection string
// enable logging the generated sql string
// enable logging of the generated sql string
Logging bool
}
// Function to open a database and set the given configuration
// Input: the configuration data c
func Open(c Config) (err error) {
writeLog := log.Log.WithField("db", "write")
config = &c
@ -75,7 +73,6 @@ func Close() {
}
// Function to add a model to the runtime
// Input: interface m
func AddModel(m interface{}) {
runtime = append(runtime, m)
}

View File

@ -1,5 +1,4 @@
// Package database provides the
// functionality to open, close and use a database
// Package that provides the functionality to open, close and use a database
package database
import (
@ -14,7 +13,6 @@ type TestModel struct {
}
// Function to test the error handling for the database opening
// Input: pointer to testobject t
func TestOpenNoDB(t *testing.T) {
assert := assert.New(t)
@ -25,7 +23,6 @@ func TestOpenNoDB(t *testing.T) {
}
// Function to test the opening of one database
// Input: pointer to testobject t
func TestOpenOneDB(t *testing.T) {
assert := assert.New(t)
AddModel(&TestModel{})
@ -50,7 +47,6 @@ func TestOpenOneDB(t *testing.T) {
}
// Function to test the opening of a second database
// Input: pointer to testobject t
func TestOpenTwoDB(t *testing.T) {
assert := assert.New(t)
AddModel(&TestModel{})

View File

@ -1,5 +1,4 @@
// Package http provides the
// logic of the webserver
// Package that provides the logic of the webserver
package http
import (
@ -8,8 +7,7 @@ import (
"net/http"
)
// Function to read data from a request via json format
// Input: pointer to http request r, interface to
// Function to read data from a http request via json format (input)
func Read(r *http.Request, to interface{}) (err error) {
if r.Header.Get("Content-Type") != "application/json" {
err = errors.New("no json data recived")
@ -19,8 +17,7 @@ func Read(r *http.Request, to interface{}) (err error) {
return
}
// Function to write data as json to a http output
// Input: http response writer w, interface data
// Function to write data as json to a http response (output)
func Write(w http.ResponseWriter, data interface{}) {
js, err := json.Marshal(data)
if err != nil {

View File

@ -1,5 +1,4 @@
// Package http provides the
// logic of the webserver
// Package that provides the logic of the webserver
package http
import (
@ -12,8 +11,7 @@ import (
"github.com/stretchr/testify/assert"
)
// Function to test the writing into a http response
// Input: pointer to testing object
// Function to test write()
func TestWrite(t *testing.T) {
assert := assert.New(t)
@ -37,8 +35,7 @@ func TestWrite(t *testing.T) {
}
// Function to test the reading from a http response
// Input: pointer to testing object
// Function to test read()
func TestRead(t *testing.T) {
assert := assert.New(t)

View File

@ -1,14 +1,12 @@
// Package http provides the
// logic of the webserver
// Package that provides the logic of the webserver
package http
import "net/http"
// format of a function to bind it for the middleware handler
// Format of a function to bind it to the middleware handler
type HasPermission func(string, int) (bool, error)
// Function to evaluate the permission and implent an error handling
// Input: http response writer w, pointer to htto request r, bool variable HasPermission perm, int variable permission (form)
// Function to evaluate the permission and implement an error handling
func PermissionHandler(h func(w http.ResponseWriter, r *http.Request), perm HasPermission, permission int) func(w http.ResponseWriter, r *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
session, err := r.Cookie("session")

View File

@ -1,5 +1,4 @@
// Package http provides the
// logic of the webserver
// Package that provides the logic of the webserver
package http
import (
@ -12,7 +11,6 @@ import (
)
// Function to the the permission and it's error handling
// Input: pointer to testing object
func TestPermission(t *testing.T) {
assert := assert.New(t)
@ -30,7 +28,7 @@ func TestPermission(t *testing.T) {
r.AddCookie(&http.Cookie{Name: "session"})
// HasPermission respond a true
// HasPermission responds true
reached = false
PermissionHandler(func(w http.ResponseWriter, r *http.Request) {
reached = true
@ -39,7 +37,7 @@ func TestPermission(t *testing.T) {
}, 1)(w, r)
assert.True(reached)
// HasPermission respond a false
// HasPermission responds false
reached = false
PermissionHandler(func(w http.ResponseWriter, r *http.Request) {
reached = true
@ -48,7 +46,7 @@ func TestPermission(t *testing.T) {
}, 1)(w, r)
assert.False(reached)
// HasPermission respond a error
// HasPermission responds error
reached = false
PermissionHandler(func(w http.ResponseWriter, r *http.Request) {
reached = true

View File

@ -1,5 +1,4 @@
// Package log provides the
// functionality to start und initialize to logger
// Package that provides the functionality to start und initialize the logger
package log
import (
@ -9,7 +8,7 @@ import (
logger "github.com/Sirupsen/logrus"
)
// current logger with configuration
// Crrrent logger with it's configuration
var Log *logger.Logger
// Function to initiate a new logger
@ -19,7 +18,6 @@ func init() {
}
// Function to add the information of a http request to the log
// Input: pointer to the http request r
func HTTP(r *http.Request) *logger.Entry {
ip := r.Header.Get("X-Forwarded-For")
if len(ip) <= 1 {

View File

@ -1,5 +1,4 @@
// Package log provides the
// functionality to start und initialize to logger
// Package that provides the functionality to start und initialize the logger
package log
import (
@ -10,7 +9,6 @@ import (
)
// Function to test the logging
// Input: pointer to teh testing object
func TestLog(t *testing.T) {
assertion := assert.New(t)

View File

@ -1,16 +1,16 @@
// A little lib for cronjobs to run it in background
// Package with a lib for cronjobs to run in background
package worker
import "time"
// a struct which handle the job
// Struct which handles the job
type Worker struct {
every time.Duration
run func()
quit chan struct{}
}
// create a new Worker with timestamp run every and his function
// Function to reate a new Worker with a timestamp, run, every and it's function
func NewWorker(every time.Duration, f func()) (w *Worker) {
w = &Worker{
every: every,
@ -20,8 +20,8 @@ func NewWorker(every time.Duration, f func()) (w *Worker) {
return
}
// start the worker
// please us it as a goroutine: go w.Start()
// Function to start the Worker
// (please us it as a goroutine with go w.Start())
func (w *Worker) Start() {
ticker := time.NewTicker(w.every)
for {
@ -35,7 +35,7 @@ func (w *Worker) Start() {
}
}
// stop the worker
// Function to stop the Worker
func (w *Worker) Close() {
close(w.quit)
}

View File

@ -1,3 +1,4 @@
// Package with a lib for cronjobs to run in background
package worker
import (
@ -7,6 +8,7 @@ import (
"github.com/stretchr/testify/assert"
)
// Function to test the Worker
func TestWorker(t *testing.T) {
assert := assert.New(t)