Skip to content
Snippets Groups Projects
Commit 2e48537d authored by Sydney Anne Erickson's avatar Sydney Anne Erickson :chipmunk:
Browse files

Add fact

parent 5267ec1e
No related branches found
No related tags found
No related merge requests found
package ud
import (
"gitlab.com/elixxir/client/interfaces/contact"
pb "gitlab.com/elixxir/comms/mixmessages"
"gitlab.com/elixxir/primitives/fact"
"gitlab.com/xx_network/comms/connect"
"gitlab.com/xx_network/crypto/signature"
"gitlab.com/xx_network/crypto/signature/rsa"
"io"
)
type addFactComms interface {
SendRegisterFact(host *connect.Host, message *pb.FactRegisterRequest) (*pb.FactRegisterResponse, error)
}
func (m *Manager) SendRegisterFact(fact contact.Fact) (*pb.FactRegisterResponse, error) {
return m.addFact(fact, m.comms)
}
func (m *Manager) addFact(fact fact.Fact, aFC addFactComms) (*pb.FactRegisterResponse, error) {
// Construct the message to send
// Convert our Fact to a mixmessages Fact for sending
mmFact := pb.Fact{
Fact: fact.Fact,
FactType: uint32(fact.T),
}
rsa.Sign(io.Reader, m.privKey, )
//signature.Sign(mmFact, m.privKey)
// Create our Fact Removal Request message data
remFactMsg := pb.FactRegisterRequest{
UID: m.host.GetId().Marshal(),
Fact: &mmFact,
FactSig: []byte("B"),
}
// Send the message
response, err := aFC.SendRegisterFact(m.host, &remFactMsg)
// Return the error
return response, err
}
package ud
import (
"gitlab.com/elixxir/client/interfaces/contact"
"gitlab.com/elixxir/comms/client"
pb "gitlab.com/elixxir/comms/mixmessages"
"gitlab.com/xx_network/comms/connect"
"gitlab.com/xx_network/crypto/csprng"
"gitlab.com/xx_network/crypto/signature/rsa"
"gitlab.com/xx_network/primitives/id"
"testing"
)
type testAFC struct{}
func (rFC *testAFC) SendRegisterFact(host *connect.Host, message *pb.FactRegisterRequest) (*pb.FactRegisterResponse, error) {
return &pb.FactRegisterResponse{}, nil
}
func TestAddFact(t *testing.T) {
c, err := client.NewClientComms(&id.DummyUser, nil, nil, nil)
if err != nil {
t.Fatal(err)
}
h, err := connect.NewHost(&id.DummyUser, "address", nil, connect.GetDefaultHostParams())
if err != nil {
t.Fatal(err)
}
rng := csprng.NewSystemRNG()
cpk, err := rsa.GenerateKey(rng, 2048)
if err != nil {
t.Fatal(err)
}
m := Manager{
comms: c,
host: h,
privKey: cpk,
}
f := contact.Fact{
Fact: "testing",
T: 2,
}
tafc := testAFC{}
_, err = m.addFact(f, &tafc)
if err != nil {
t.Fatal(err)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment