adding initial test

This commit is contained in:
Roland Osborne 2022-01-11 23:04:27 -08:00
parent 4d42f21743
commit 0b1315f9bf
9 changed files with 75 additions and 16 deletions

View File

@ -10,7 +10,10 @@
package databag
import (
"errors"
"net/http"
"gorm.io/gorm"
store "databag/internal/store"
)
func AddNodeAccount(w http.ResponseWriter, r *http.Request) {
@ -30,7 +33,14 @@ func GetNodeAccounts(w http.ResponseWriter, r *http.Request) {
func GetNodeClaimable(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.WriteHeader(http.StatusOK)
var config store.Config
err := store.DB.Where("config_id = ?", CONFIG_CLAIMED).First(&config).Error;
if errors.Is(err, gorm.ErrRecordNotFound) {
w.WriteHeader(http.StatusOK)
} else {
w.WriteHeader(http.StatusNotAcceptable)
}
}
func GetNodeConfig(w http.ResponseWriter, r *http.Request) {

View File

@ -0,0 +1,8 @@
package databag
import (
"testing"
)
func TestClaimable(t *testing.T) {
}

View File

@ -0,0 +1,7 @@
package databag
const CONFIG_CLAIMED = "claimed";
const CONFIG_USERNAME = "username"
const CONFIG_PASSWORD = "password"
const CONFIG_SATL = "salt"

View File

@ -13,9 +13,7 @@ import (
"fmt"
"net/http"
"strings"
"gorm.io/gorm"
"github.com/gorilla/mux"
store "databag/internal/store"
)
type Route struct {
@ -27,8 +25,7 @@ type Route struct {
type Routes []Route
func NewRouter(db *gorm.DB) *mux.Router {
store.AutoMigrate(db);
func NewRouter() *mux.Router {
router := mux.NewRouter().StrictSlash(true)
for _, route := range routes {

View File

@ -0,0 +1,21 @@
package store
import (
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/driver/sqlite"
)
var DB *gorm.DB;
func SetPath(path string) {
db, err := gorm.Open(sqlite.Open(path), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),
})
if err != nil {
panic("failed to connect database")
}
AutoMigrate(db)
DB = db
}

View File

@ -0,0 +1,8 @@
package store
import (
"testing"
)
func Test(t *testing.T) {
}

View File

@ -12,23 +12,17 @@ package main
import (
"log"
"net/http"
"gorm.io/gorm"
"gorm.io/driver/sqlite"
app "databag/internal"
store "databag/internal/store"
)
func main() {
db, err := gorm.Open(sqlite.Open("databag.db"), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
store.AutoMigrate(db);
store.SetPath("databag.db");
log.Printf("Server started")
router := app.NewRouter(db)
router := app.NewRouter()
log.Fatal(http.ListenAndServe(":7000", router))
}

View File

@ -1,7 +1,21 @@
package main
package main
import "testing"
import (
"testing"
"net/http/httptest"
app "databag/internal"
store "databag/internal/store"
)
func TestMain(t *testing.T) {
func TestClaim(t *testing.T) {
store.SetPath("file::memory:?cache=shared");
r := httptest.NewRequest("GET", "/claimable", nil)
w := httptest.NewRecorder()
app.GetNodeClaimable(w, r);
if w.Code != 200 {
t.Errorf("server not initially claimable");
}
}