Skip to content
Snippets Groups Projects
Commit 7a9c4751 authored by Jonah Husson's avatar Jonah Husson
Browse files

Merge branch 'release' into jonah/apns

parents 2eae5df6 833c5f3e
No related branches found
No related tags found
1 merge request!5Release
......@@ -13,10 +13,9 @@ require (
github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.0.0
github.com/spf13/jwalterweatherman v1.1.0
github.com/spf13/viper v1.7.0
gitlab.com/elixxir/comms v0.0.4-0.20210517210053-819dc80aa1c9
gitlab.com/elixxir/crypto v0.0.7-0.20210517205836-5930e34ed931
gitlab.com/elixxir/comms v0.0.4-0.20210518184731-e69b40dd792a
gitlab.com/elixxir/crypto v0.0.7-0.20210518184523-674e0e2a0f6d
gitlab.com/xx_network/comms v0.0.4-0.20210517205649-06ddfa8d2a75
gitlab.com/xx_network/crypto v0.0.5-0.20210517205543-4ae99cbb9063
gitlab.com/xx_network/primitives v0.0.4-0.20210517202253-c7b4bd0087ea
......
......@@ -22,7 +22,12 @@ func TestImpl_InitDeleter(t *testing.T) {
if err != nil {
t.Errorf("Failed to get intermediary ephemeral id: %+v", err)
}
u, err := s.AddUser(iid, []byte("trsa"), []byte("Sig"), "token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Fatalf("Could not parse precanned time: %v", err.Error())
}
u, err := s.AddUser(iid, []byte("trsa"), []byte("Sig"), testTime, "token")
if err != nil {
t.Errorf("Failed to add user to storage: %+v", err)
}
......@@ -68,7 +73,12 @@ func TestImpl_InitCreator(t *testing.T) {
if err != nil {
t.Errorf("Failed to get intermediary ephemeral id: %+v", err)
}
u, err := s.AddUser(iid, []byte("trsa"), []byte("Sig"), "token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
u, err := s.AddUser(iid, []byte("trsa"), []byte("Sig"), testTime, "token")
if err != nil {
t.Errorf("Failed to add user to storage: %+v", err)
}
......
......@@ -253,8 +253,8 @@ func (nb *Impl) RegisterForNotifications(request *pb.NotificationRegisterRequest
//}
// Add the user to storage
u, err := nb.Storage.AddUser(request.IntermediaryId, request.TransmissionRsa,
request.IIDTransmissionRsaSig, request.Token)
u, err := nb.Storage.AddUser(request.IntermediaryId, request.TransmissionRsa, request.IIDTransmissionRsaSig,
time.Unix(0, request.RegistrationTimestamp), request.Token)
if err != nil {
return errors.Wrap(err, "Failed to register user with notifications")
}
......
......@@ -56,7 +56,12 @@ func TestNotifyUser(t *testing.T) {
if err != nil {
t.Errorf("Failed to create iid: %+v", err)
}
u, err := s.AddUser(iid, []byte("rsacert"), []byte("sig"), ":token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
u, err := s.AddUser(iid, []byte("rsacert"), []byte("sig"), testTime, ":token")
if err != nil {
t.Errorf("Failed to add fake user: %+v", err)
}
......
......@@ -6,6 +6,7 @@ import (
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"time"
)
// interface declaration for storage methods
......@@ -48,6 +49,8 @@ type User struct {
Signature []byte `gorm:"not null"`
Token string `gorm:"not null"`
Ephemerals []Ephemeral `gorm:"foreignKey:transmission_rsa_hash;references:transmission_rsa_hash;constraint:OnDelete:CASCADE;"`
// Time in which user has registered with the network (ie permissioning)
RegistrationTimestamp time.Time `gorm:"not null"`
}
type Ephemeral struct {
......
......@@ -22,8 +22,13 @@ func TestDatabaseImpl(t *testing.T) {
if err != nil {
t.Errorf("Failed to make iid: %+v", err)
}
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
token1 := "i'm a token"
_, err = s.AddUser(iid, []byte("rsa"), sig, token1)
_, err = s.AddUser(iid, []byte("rsa"), sig, testTime, token1)
if err != nil {
t.Errorf("Failed to upsert user: %+v", err)
}
......@@ -37,7 +42,7 @@ func TestDatabaseImpl(t *testing.T) {
}
token2 := "you're a token"
u1, err := s.AddUser(iid, []byte("rsa"), sig, token2)
u1, err := s.AddUser(iid, []byte("rsa"), sig, testTime, token2)
if err != nil {
t.Errorf("Failed to upsert updated user: %+v", err)
}
......@@ -58,7 +63,7 @@ func TestDatabaseImpl(t *testing.T) {
t.Errorf("Expected user with token %s. Instead got %s.", token1, u.Token)
}
u2, err := s.AddUser([]byte("jakexx360"), []byte("rsa2"), sig, token2)
u2, err := s.AddUser([]byte("jakexx360"), []byte("rsa2"), sig, testTime, token2)
if err != nil {
t.Errorf("Failed to upsert updated user: %+v", err)
}
......
......@@ -21,7 +21,7 @@ func NewStorage(username, password, dbName, address, port string) (*Storage, err
return storage, err
}
func (s *Storage) AddUser(iid, transmissionRSA, signature []byte, token string) (*User, error) {
func (s *Storage) AddUser(iid, transmissionRSA, signature []byte, regTimestamp time.Time, token string) (*User, error) {
h, err := hash.NewCMixHash()
if err != nil {
return nil, errors.WithMessage(err, "Failed to create cmix hash")
......@@ -35,6 +35,7 @@ func (s *Storage) AddUser(iid, transmissionRSA, signature []byte, token string)
TransmissionRSAHash: h.Sum(nil),
TransmissionRSA: transmissionRSA,
Signature: signature,
RegistrationTimestamp: regTimestamp,
OffsetNum: ephemeral.GetOffsetNum(ephemeral.GetOffset(iid)),
Token: token,
}
......
......@@ -4,6 +4,7 @@ import (
"gitlab.com/xx_network/primitives/id"
"gitlab.com/xx_network/primitives/id/ephemeral"
"testing"
"time"
)
func TestStorage_AddUser(t *testing.T) {
......@@ -16,7 +17,12 @@ func TestStorage_AddUser(t *testing.T) {
if err != nil {
t.Errorf("Failed to create iid: %+v", err)
}
_, err = s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), "token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
_, err = s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), testTime, "token")
if err != nil {
t.Errorf("Failed to add user: %+v", err)
}
......@@ -32,7 +38,12 @@ func TestStorage_DeleteUser(t *testing.T) {
if err != nil {
t.Errorf("Failed to create iid: %+v", err)
}
u, err := s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), "token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
u, err := s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), testTime, "token")
if err != nil {
t.Errorf("Failed to add user: %+v", err)
}
......@@ -52,7 +63,12 @@ func TestStorage_AddLatestEphemeral(t *testing.T) {
if err != nil {
t.Errorf("Failed to create iid: %+v", err)
}
u, err := s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), "token")
testTime, err := time.Parse(time.RFC3339,
"2012-12-21T22:08:41+00:00")
if err != nil {
t.Errorf("Could not parse precanned time: %v", err.Error())
}
u, err := s.AddUser(iid, []byte("transmissionrsa"), []byte("signature"), testTime, "token")
if err != nil {
t.Errorf("Failed to add user: %+v", err)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment