implementing connect use case test

This commit is contained in:
Roland Osborne 2022-01-20 00:05:12 -08:00
parent 06958c80c5
commit 59ae141d31
3 changed files with 55 additions and 7 deletions

View File

@ -0,0 +1,40 @@
package databag
import (
"net/http"
)
func GetProfileMessage(w http.ResponseWriter, r *http.Request) {
account, res := BearerAppToken(r, true);
if res != nil {
ErrResponse(w, http.StatusUnauthorized, res)
return
}
if account.Disabled {
ErrResponse(w, http.StatusGone, res)
return
}
detail := account.AccountDetail
// generate identity DataMessage
identity := Identity{
Revision: account.ProfileRevision,
Handle: account.Username,
Name: detail.Name,
Description: detail.Description,
Location: detail.Location,
Image: detail.Image,
Version: APP_VERSION,
Node: "https://" + getStrConfigValue(CONFIG_DOMAIN, "") + "/",
}
msg, res := WriteDataMessage(detail.PrivateKey, detail.PublicKey, detail.KeyType,
APP_SIGNPKCS1V15, account.Guid, APP_MSGIDENTITY, &identity)
if res != nil {
ErrResponse(w, http.StatusInternalServerError, res)
return
}
WriteResponse(w, msg)
}

View File

@ -18,11 +18,6 @@ func GetProfileImage(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
}
func GetProfileMessage(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.WriteHeader(http.StatusOK)
}
func SetProfileImage(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.WriteHeader(http.StatusOK)

View File

@ -55,7 +55,7 @@ func TestConnectContact(t *testing.T) {
// acquire new token for attaching app
r, w, _ = NewRequest("POST", "/account/apps", nil)
SetBasicAuth(r, "attachapp:pass");
SetBasicAuth(r, "connectb:pass");
AddAccountApp(w, r);
assert.NoError(t, ReadResponse(w, &token))
@ -66,9 +66,22 @@ func TestConnectContact(t *testing.T) {
var bToken string
assert.NoError(t, ReadResponse(w, &bToken))
// get B identity message
r, w, _ = NewRequest("GET", "/profile/message", nil)
SetBearerAuth(r, bToken)
GetProfileMessage(w, r)
var msg DataMessage
assert.NoError(t, ReadResponse(w, &msg))
var identity Identity
guid, messageType, ts, err := ReadDataMessage(&msg, &identity)
// get B profile message
PrintMsg(msg)
PrintMsg(guid)
PrintMsg(messageType)
PrintMsg(ts)
PrintMsg(err)
PrintMsg(identity)
// set B card in A