functional simple api

This commit is contained in:
2024-08-23 16:39:20 -05:00
parent f9354196dd
commit ae4f12c159
18 changed files with 234 additions and 216 deletions

View File

@@ -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,