refactor code to fewer files; remove unused code

This commit is contained in:
2024-09-21 11:04:09 -05:00
parent b7a4a5cf4c
commit 2b3abb8fb2
29 changed files with 486 additions and 557 deletions

View File

@@ -4,8 +4,7 @@ import (
"bytes"
"encoding/json"
"github.com/stretchr/testify/assert"
"go-nkode/core/api"
m "go-nkode/core/model"
"go-nkode/core"
"io"
"net/http"
"testing"
@@ -13,84 +12,84 @@ import (
func TestApi(t *testing.T) {
base := "http://localhost:8080"
newCustomerBody := m.NewCustomerPost{
NKodePolicy: m.NewDefaultNKodePolicy(),
newCustomerBody := core.NewCustomerPost{
NKodePolicy: core.NewDefaultNKodePolicy(),
}
kp := m.KeypadDimension{
kp := core.KeypadDimension{
AttrsPerKey: 14,
NumbOfKeys: 10,
}
var customerResp m.CreateNewCustomerResp
testApiPost(t, base+api.CreateNewCustomer, newCustomerBody, &customerResp)
var customerResp core.CreateNewCustomerResp
testApiPost(t, base+core.CreateNewCustomer, newCustomerBody, &customerResp)
username := m.Username("test_username")
signupInterfaceBody := m.GenerateSignupInterfacePost{
username := core.Username("test_username")
signupInterfaceBody := core.GenerateSignupInterfacePost{
CustomerId: customerResp.CustomerId,
AttrsPerKey: kp.AttrsPerKey,
NumbOfKeys: kp.NumbOfKeys,
Username: username,
}
var signupInterfaceResp m.GenerateSignupInterfaceResp
testApiPost(t, base+api.GenerateSignupInterface, signupInterfaceBody, &signupInterfaceResp)
var signupInterfaceResp core.GenerateSignupInterfaceResp
testApiPost(t, base+core.GenerateSignupInterface, signupInterfaceBody, &signupInterfaceResp)
assert.Len(t, signupInterfaceResp.SvgInterface, kp.TotalAttrs())
passcodeLen := 4
setInterface := signupInterfaceResp.UserIdxInterface
userPasscode := setInterface[:passcodeLen]
kp_set := m.KeypadDimension{NumbOfKeys: kp.NumbOfKeys, AttrsPerKey: kp.NumbOfKeys}
setKeySelection, err := m.SelectKeyByAttrIdx(setInterface, userPasscode, kp_set)
kp_set := core.KeypadDimension{NumbOfKeys: kp.NumbOfKeys, AttrsPerKey: kp.NumbOfKeys}
setKeySelection, err := core.SelectKeyByAttrIdx(setInterface, userPasscode, kp_set)
assert.NoError(t, err)
setNKodeBody := m.SetNKodePost{
setNKodeBody := core.SetNKodePost{
CustomerId: customerResp.CustomerId,
SessionId: signupInterfaceResp.SessionId,
KeySelection: setKeySelection,
}
var setNKodeResp m.SetNKodeResp
testApiPost(t, base+api.SetNKode, setNKodeBody, &setNKodeResp)
var setNKodeResp core.SetNKodeResp
testApiPost(t, base+core.SetNKode, setNKodeBody, &setNKodeResp)
confirmInterface := setNKodeResp.UserInterface
confirmKeySelection, err := m.SelectKeyByAttrIdx(confirmInterface, userPasscode, kp_set)
confirmKeySelection, err := core.SelectKeyByAttrIdx(confirmInterface, userPasscode, kp_set)
assert.NoError(t, err)
confirmNKodeBody := m.ConfirmNKodePost{
confirmNKodeBody := core.ConfirmNKodePost{
CustomerId: customerResp.CustomerId,
KeySelection: confirmKeySelection,
SessionId: signupInterfaceResp.SessionId,
}
testApiPost(t, base+api.ConfirmNKode, confirmNKodeBody, nil)
testApiPost(t, base+core.ConfirmNKode, confirmNKodeBody, nil)
loginInterfaceBody := m.GetLoginInterfacePost{
loginInterfaceBody := core.GetLoginInterfacePost{
CustomerId: customerResp.CustomerId,
Username: username,
}
var loginInterfaceResp m.GetLoginInterfaceResp
testApiPost(t, base+api.GetLoginInterface, loginInterfaceBody, &loginInterfaceResp)
loginKeySelection, err := m.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
var loginInterfaceResp core.GetLoginInterfaceResp
testApiPost(t, base+core.GetLoginInterface, loginInterfaceBody, &loginInterfaceResp)
assert.Equal(t, loginInterfaceResp.AttrsPerKey, kp.AttrsPerKey)
assert.Equal(t, loginInterfaceResp.NumbOfKeys, kp.NumbOfKeys)
loginKeySelection, err := core.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
assert.NoError(t, err)
loginBody := m.LoginPost{
loginBody := core.LoginPost{
CustomerId: customerResp.CustomerId,
Username: username,
KeySelection: loginKeySelection,
}
testApiPost(t, base+api.Login, loginBody, nil)
testApiPost(t, base+core.Login, loginBody, nil)
renewBody := m.RenewAttributesPost{CustomerId: customerResp.CustomerId}
testApiPost(t, base+api.RenewAttributes, renewBody, nil)
renewBody := core.RenewAttributesPost{CustomerId: customerResp.CustomerId}
testApiPost(t, base+core.RenewAttributes, renewBody, nil)
loginKeySelection, err = m.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
loginKeySelection, err = core.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
assert.NoError(t, err)
loginBody = m.LoginPost{
loginBody = core.LoginPost{
CustomerId: customerResp.CustomerId,
Username: username,
KeySelection: loginKeySelection,
}
testApiPost(t, base+api.Login, loginBody, nil)
var randomSvgInterfaceResp m.RandomSvgInterfaceResp
testApiGet(t, base+api.RandomSvgInterface, &randomSvgInterfaceResp)
assert.Equal(t, m.KeypadMax.TotalAttrs(), len(randomSvgInterfaceResp.Svgs))
testApiPost(t, base+core.Login, loginBody, nil)
var randomSvgInterfaceResp core.RandomSvgInterfaceResp
testApiGet(t, base+core.RandomSvgInterface, &randomSvgInterfaceResp)
assert.Equal(t, core.KeypadMax.TotalAttrs(), len(randomSvgInterfaceResp.Svgs))
}
func Unmarshal(t *testing.T, resp *http.Response, data any) {