invitation process upgrade
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2026-04-02 18:50:04 +02:00
committed by yc
parent 9f130a80b7
commit 1906431061
21 changed files with 1185 additions and 638 deletions

View File

@@ -228,7 +228,7 @@ func TestBuildSingleFileMessage_EmptyFile(t *testing.T) {
// BuildInvitationAnswerMessage
// ---------------------------------------------------------------------------
func TestBuildInvitationAnswerMessage(t *testing.T) {
func TestBuildInvitationStep2Message(t *testing.T) {
p := &Peer{
ContactLookupKey: "dest-lookup",
MyIdentity: &meowlib.KeyPair{Public: "my-pub"},
@@ -239,13 +239,13 @@ func TestBuildInvitationAnswerMessage(t *testing.T) {
ContactPublicKey: "alice-pub",
}
msg, err := p.BuildInvitationAnswerMessage(contactCard)
msg, err := p.BuildInvitationStep2Message(contactCard)
assert.NoError(t, err)
assert.Equal(t, "dest-lookup", msg.Destination)
assert.Equal(t, "my-pub", msg.From)
assert.Equal(t, "1", msg.Type)
assert.NotNil(t, msg.Invitation)
assert.Equal(t, int32(3), msg.Invitation.Step)
assert.Equal(t, int32(2), msg.Invitation.Step)
assert.Equal(t, "inv-uuid-123", msg.Invitation.Uuid)
// Payload is the proto-serialized contact card
@@ -256,6 +256,42 @@ func TestBuildInvitationAnswerMessage(t *testing.T) {
assert.Equal(t, "alice-pub", decoded.ContactPublicKey)
}
func TestBuildInvitationStep3Message(t *testing.T) {
p := &Peer{
ContactLookupKey: "dest-lookup",
MyIdentity: &meowlib.KeyPair{Public: "my-pub"},
InvitationId: "inv-uuid-456",
}
contactCard := &meowlib.ContactCard{
Name: "Initiator",
ContactPublicKey: "init-pub",
}
msg, err := p.BuildInvitationStep3Message(contactCard)
assert.NoError(t, err)
assert.Equal(t, int32(3), msg.Invitation.Step)
assert.Equal(t, "inv-uuid-456", msg.Invitation.Uuid)
var decoded meowlib.ContactCard
err = proto.Unmarshal(msg.Invitation.Payload, &decoded)
assert.NoError(t, err)
assert.Equal(t, "Initiator", decoded.Name)
}
func TestBuildInvitationStep4Message(t *testing.T) {
p := &Peer{
ContactLookupKey: "dest-lookup",
MyIdentity: &meowlib.KeyPair{Public: "my-pub"},
InvitationId: "inv-uuid-789",
}
msg, err := p.BuildInvitationStep4Message()
assert.NoError(t, err)
assert.Equal(t, int32(4), msg.Invitation.Step)
assert.Equal(t, "inv-uuid-789", msg.Invitation.Uuid)
assert.Nil(t, msg.Invitation.Payload)
}
// ---------------------------------------------------------------------------
// Serialize / Deserialize
// ---------------------------------------------------------------------------