controllers

package
v0.0.0-...-bb3e6dd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2016 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Smoke crawls web links starting with the smoketest and urls arguments.

This version uses bounded parallelism.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSite

func CreateSite(w http.ResponseWriter, r *http.Request)

Handler for HTTP Post - "/sites" Insert a new Site document

func CreateUrl

func CreateUrl(w http.ResponseWriter, r *http.Request)

CreateUrl Handler for HTTP Post - "/urls" Insert a new Url document for a SiteId

func DeleteSite

func DeleteSite(w http.ResponseWriter, r *http.Request)

Handler for HTTP Delete - "/sites/{id}" Delete an existing Site document

func DeleteSmokeTest

func DeleteSmokeTest(w http.ResponseWriter, r *http.Request)

Handler for HTTP Delete - "/smoketests/{id}" Delete an existing SmokeTest document

func DeleteUrl

func DeleteUrl(w http.ResponseWriter, r *http.Request)

Handler for HTTP Delete - "/urls/{id}" Delete an existing Url document

func GetSiteById

func GetSiteById(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/sites/{id}" Returns a single Site document by id

func GetSites

func GetSites(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/sites" Returns all Site documents

func GetSitesByUser

func GetSitesByUser(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/sites/users/{id}" Returns all Sites created by a User

func GetSmokeTestById

func GetSmokeTestById(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/smoketests/{id}" Returns a single SmokeTest document by id

func GetSmokeTests

func GetSmokeTests(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/smoketests" Returns all SmokeTest documents

func GetSmokeTestsByUser

func GetSmokeTestsByUser(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/smoketests/users/{id}" Returns all SmokeTests created by a User

func GetUrlById

func GetUrlById(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/urls/{id}" Returns a single Url document by id

func GetUrls

func GetUrls(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/urls" Returns all Url documents

func GetUrlsBySite

func GetUrlsBySite(w http.ResponseWriter, r *http.Request)

Handler for HTTP Get - "/urls/sites/{id} Returns all Urls documents under a SiteId

func Login

func Login(w http.ResponseWriter, r *http.Request)

Handler for HTTP Post - "/users/login" Authenticate with username and apssword

func Register

func Register(w http.ResponseWriter, r *http.Request)

Handler for HTTP Post - "/users/register" Add a new User document

func RunSmokeTest

func RunSmokeTest(w http.ResponseWriter, r *http.Request)

Handler for HTTP Post - "/smoketests" Insert a new SmokeTest document Runs the smoke test Update the SmokeTest document Returns status code results by url and overall pass fail in JSON response

func Smoke

func Smoke(smoketest *models.SmokeTest, testurls []models.TestUrl)

!+

func UpdateSite

func UpdateSite(w http.ResponseWriter, r *http.Request)

Handler for HTTP Put - "/sites/{id}" Update an existing Site document

func UpdateSmokeTest

func UpdateSmokeTest(w http.ResponseWriter, r *http.Request)

Handler for HTTP Put - "/smoketests/{id}" Update an existing SmokeTest document and Returns the PassFail and URLStatusCodes as JSON in http response

func UpdateUrl

func UpdateUrl(w http.ResponseWriter, r *http.Request)

Handler for HTTP Put - "/urls/{id}" Update an existing Url document

Types

type AuthUserModel

type AuthUserModel struct {
	User  models.User `json:"user"`
	Token string      `json:"token"`
}

Model for authorized user with access token

type AuthUserResource

type AuthUserResource struct {
	Data AuthUserModel `json:"data"`
}

Response for authorized user Post - /user/login

type Context

type Context struct {
	MongoSession *mgo.Session
}

Struct used for maintaining HTTP Request Context

func NewContext

func NewContext() *Context

Create a new Context object for each HTTP request

func (*Context) Close

func (c *Context) Close()

Close mgo.Session

func (*Context) DbCollection

func (c *Context) DbCollection(name string) *mgo.Collection

Returns mgo.collection for the given name

type LoginModel

type LoginModel struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

Model for authentication

type LoginResource

type LoginResource struct {
	Data LoginModel `json:"data"`
}

For Post - /user/login

type SiteResource

type SiteResource struct {
	Data models.Site `json:"data"`
}

For Post/Put - /sites For Get - /sites/id

type SitesResource

type SitesResource struct {
	Data []models.Site `json:"data"`
}

For Get - /sites

type SmokeTestModel

type SmokeTestModel struct {
	SiteId string `json:"siteid"`
	EnvDns string `json:"envdns"`
	HostIp string `json:"hostip"`
	Tags   string `json:"tags"`
}

Model for a SmokeTest

type SmokeTestResource

type SmokeTestResource struct {
	Data models.SmokeTest `json:"data"`
}

For Post/Put - /smoketests For Get - /smoketests/id

type SmokeTestsResource

type SmokeTestsResource struct {
	Data []models.SmokeTest `json:"data"`
}

For Get - /smoketests

type UrlModel

type UrlModel struct {
	SiteId       string `json:"siteid"`
	Url          string `json:"url"`
	HtmlFragment string `json:"htmlfragment"`
}

Model for a TestUrl

type UrlResource

type UrlResource struct {
	Data UrlModel `json:"data"`
}

For Post/Put - /urls

type UrlsResource

type UrlsResource struct {
	Data []models.TestUrl `json:"data"`
}

For Get - /urls For /urls/sites/id

type UserResource

type UserResource struct {
	Data models.User `json:"data"`
}

For Post - /user/register

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL