functional simple api
This commit is contained in:
36
main_test.go
36
main_test.go
@@ -5,7 +5,7 @@ import (
|
||||
"encoding/json"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go-nkode/core/api"
|
||||
"go-nkode/core/model"
|
||||
m "go-nkode/core/model"
|
||||
"go-nkode/core/nkode"
|
||||
"io"
|
||||
"net/http"
|
||||
@@ -14,55 +14,55 @@ import (
|
||||
|
||||
func TestApi(t *testing.T) {
|
||||
base := "http://localhost:8080"
|
||||
newCustomerBody := model.NewCustomerPost{
|
||||
KeypadSize: model.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 10},
|
||||
NKodePolicy: model.NewDefaultNKodePolicy(),
|
||||
newCustomerBody := m.NewCustomerPost{
|
||||
KeypadSize: m.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 10},
|
||||
NKodePolicy: m.NewDefaultNKodePolicy(),
|
||||
}
|
||||
|
||||
var customerResp model.CreateNewCustomerResp
|
||||
var customerResp m.CreateNewCustomerResp
|
||||
testApiCall(t, base+api.CreateNewCustomer, newCustomerBody, &customerResp)
|
||||
|
||||
signupInterfaceBody := model.GetLoginInterfacePost{CustomerId: customerResp.CustomerId}
|
||||
var signupInterfaceResp model.GenerateSignupInterfaceResp
|
||||
signupInterfaceBody := m.GetLoginInterfacePost{CustomerId: customerResp.CustomerId}
|
||||
var signupInterfaceResp m.GenerateSignupInterfaceResp
|
||||
testApiCall(t, base+api.GenerateSignupInterface, signupInterfaceBody, &signupInterfaceResp)
|
||||
|
||||
username := "test_username"
|
||||
username := m.Username("test_username")
|
||||
passcodeLen := 4
|
||||
setInterface := signupInterfaceResp.UserInterface
|
||||
userPasscode := setInterface[:passcodeLen]
|
||||
keypadSize := model.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 5}
|
||||
keypadSize := m.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 5}
|
||||
setKeySelection, err := nkode.SelectKeyByAttrIdx(setInterface, userPasscode, keypadSize)
|
||||
assert.NoError(t, err)
|
||||
setNKodeBody := model.SetNKodePost{
|
||||
setNKodeBody := m.SetNKodePost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
Username: username,
|
||||
SessionId: signupInterfaceResp.SessionId,
|
||||
KeySelection: setKeySelection,
|
||||
}
|
||||
var setNKodeResp model.SetNKodeResp
|
||||
var setNKodeResp m.SetNKodeResp
|
||||
testApiCall(t, base+api.SetNKode, setNKodeBody, &setNKodeResp)
|
||||
confirmInterface := setNKodeResp.UserInterface
|
||||
confirmKeySelection, err := nkode.SelectKeyByAttrIdx(confirmInterface, userPasscode, keypadSize)
|
||||
assert.NoError(t, err)
|
||||
confirmNKodeBody := model.ConfirmNKodePost{
|
||||
confirmNKodeBody := m.ConfirmNKodePost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
KeySelection: confirmKeySelection,
|
||||
SessionId: signupInterfaceResp.SessionId,
|
||||
}
|
||||
testApiCall(t, base+api.ConfirmNKode, confirmNKodeBody, nil)
|
||||
|
||||
loginInterfaceBody := model.GetLoginInterfacePost{
|
||||
loginInterfaceBody := m.GetLoginInterfacePost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
Username: username,
|
||||
}
|
||||
|
||||
var loginInterfaceResp model.GetLoginInterfaceResp
|
||||
var loginInterfaceResp m.GetLoginInterfaceResp
|
||||
testApiCall(t, base+api.GetLoginInterface, loginInterfaceBody, &loginInterfaceResp)
|
||||
|
||||
keypadSize = model.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 10}
|
||||
keypadSize = m.KeypadSize{NumbOfKeys: 5, AttrsPerKey: 10}
|
||||
loginKeySelection, err := nkode.SelectKeyByAttrIdx(loginInterfaceResp.UserInterface, userPasscode, keypadSize)
|
||||
assert.NoError(t, err)
|
||||
loginBody := model.LoginPost{
|
||||
loginBody := m.LoginPost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
Username: username,
|
||||
KeySelection: loginKeySelection,
|
||||
@@ -70,12 +70,12 @@ func TestApi(t *testing.T) {
|
||||
|
||||
testApiCall(t, base+api.Login, loginBody, nil)
|
||||
|
||||
renewBody := model.RenewAttributesPost{CustomerId: customerResp.CustomerId}
|
||||
renewBody := m.RenewAttributesPost{CustomerId: customerResp.CustomerId}
|
||||
testApiCall(t, base+api.RenewAttributes, renewBody, nil)
|
||||
|
||||
loginKeySelection, err = nkode.SelectKeyByAttrIdx(loginInterfaceResp.UserInterface, userPasscode, keypadSize)
|
||||
assert.NoError(t, err)
|
||||
loginBody = model.LoginPost{
|
||||
loginBody = m.LoginPost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
Username: username,
|
||||
KeySelection: loginKeySelection,
|
||||
|
||||
Reference in New Issue
Block a user