mirror of https://github.com/statping/statping
				
				
				
			
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
// Statping
 | 
						|
// Copyright (C) 2018.  Hunter Long and the project contributors
 | 
						|
// Written by Hunter Long <info@socialeck.com> and the project contributors
 | 
						|
//
 | 
						|
// https://github.com/hunterlong/statping
 | 
						|
//
 | 
						|
// The licenses for most software and other practical works are designed
 | 
						|
// to take away your freedom to share and change the works.  By contrast,
 | 
						|
// the GNU General Public License is intended to guarantee your freedom to
 | 
						|
// share and change all versions of a program--to make sure it remains free
 | 
						|
// software for all its users.
 | 
						|
//
 | 
						|
// You should have received a copy of the GNU General Public License
 | 
						|
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 | 
						|
package notifiers
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/hunterlong/statping/core/notifier"
 | 
						|
	"github.com/hunterlong/statping/source"
 | 
						|
	"github.com/hunterlong/statping/types"
 | 
						|
	"github.com/hunterlong/statping/utils"
 | 
						|
	"github.com/jinzhu/gorm"
 | 
						|
	_ "github.com/jinzhu/gorm/dialects/sqlite"
 | 
						|
	"time"
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	dir          string
 | 
						|
	db           *gorm.DB
 | 
						|
	currentCount int
 | 
						|
)
 | 
						|
 | 
						|
var TestService = &types.Service{
 | 
						|
	Id:             1,
 | 
						|
	Name:           "Interpol - All The Rage Back Home",
 | 
						|
	Domain:         "https://www.youtube.com/watch?v=-u6DvRyyKGU",
 | 
						|
	ExpectedStatus: 200,
 | 
						|
	Expected:       types.NewNullString("test example"),
 | 
						|
	Interval:       30,
 | 
						|
	Type:           "http",
 | 
						|
	Method:         "GET",
 | 
						|
	Timeout:        20,
 | 
						|
	LastStatusCode: 404,
 | 
						|
	LastResponse:   "<html>this is an example response</html>",
 | 
						|
	CreatedAt:      time.Now().Add(-24 * time.Hour),
 | 
						|
}
 | 
						|
 | 
						|
var TestFailure = &types.Failure{
 | 
						|
	Issue:     "testing",
 | 
						|
	Service:   1,
 | 
						|
	CreatedAt: time.Now().Add(-12 * time.Hour),
 | 
						|
}
 | 
						|
 | 
						|
var TestUser = &types.User{
 | 
						|
	Username: "admin",
 | 
						|
	Email:    "info@email.com",
 | 
						|
}
 | 
						|
 | 
						|
var TestCore = &types.Core{
 | 
						|
	Name: "testing notifiers",
 | 
						|
}
 | 
						|
 | 
						|
func CountNotifiers() int {
 | 
						|
	return len(notifier.AllCommunications)
 | 
						|
}
 | 
						|
 | 
						|
func init() {
 | 
						|
	dir = utils.Directory
 | 
						|
	source.Assets()
 | 
						|
	utils.InitLogs()
 | 
						|
	injectDatabase()
 | 
						|
}
 | 
						|
 | 
						|
func injectDatabase() {
 | 
						|
	utils.DeleteFile(dir + "/statup.db")
 | 
						|
	db, err := gorm.Open("sqlite3", dir+"/statup.db")
 | 
						|
	if err != nil {
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
	db.CreateTable(¬ifier.Notification{})
 | 
						|
	notifier.SetDB(db, float32(-8))
 | 
						|
}
 |