Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
client
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elixxir
client
Merge requests
!232
Modify restructure branch to make it ready for merge to release
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Modify restructure branch to make it ready for merge to release
hotfix/restructure_merge
into
restructure
Overview
0
Commits
15
Pipelines
0
Changes
1
Merged
Richard T. Carback III
requested to merge
hotfix/restructure_merge
into
restructure
2 years ago
Overview
0
Commits
15
Pipelines
0
Changes
1
Expand
0
0
Merge request reports
Viewing commit
3f73b1f6
Prev
Next
Show latest version
1 file
+
157
−
0
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
3f73b1f6
re-add utils
· 3f73b1f6
Richard T. Carback III
authored
2 years ago
backup/utils_test.go
0 → 100644
+
157
−
0
Options
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 xx network SEZC //
// //
// Use of this source code is governed by a license that can be found in the //
// LICENSE file //
////////////////////////////////////////////////////////////////////////////////
package
backup
import
(
"testing"
"time"
"gitlab.com/elixxir/crypto/cyclic"
"gitlab.com/elixxir/primitives/fact"
"gitlab.com/xx_network/crypto/large"
"gitlab.com/xx_network/crypto/signature/rsa"
"gitlab.com/xx_network/primitives/id"
)
// Adheres to the E2e interface.
type
mockE2e
struct
{
partnerIDs
[]
*
id
.
ID
historicalDHPubkey
*
cyclic
.
Int
historicalDHPrivkey
*
cyclic
.
Int
}
func
newMockE2e
(
t
testing
.
TB
)
*
mockE2e
{
grp
:=
cyclic
.
NewGroup
(
large
.
NewInt
(
173
),
large
.
NewInt
(
0
))
return
&
mockE2e
{
partnerIDs
:
[]
*
id
.
ID
{
id
.
NewIdFromString
(
"partner1"
,
id
.
User
,
t
),
id
.
NewIdFromString
(
"partner2"
,
id
.
User
,
t
),
id
.
NewIdFromString
(
"partner3"
,
id
.
User
,
t
),
},
historicalDHPubkey
:
grp
.
NewInt
(
45
),
historicalDHPrivkey
:
grp
.
NewInt
(
46
),
}
}
func
(
m
*
mockE2e
)
GetAllPartnerIDs
()
[]
*
id
.
ID
{
return
m
.
partnerIDs
}
func
(
m
*
mockE2e
)
GetHistoricalDHPubkey
()
*
cyclic
.
Int
{
return
m
.
historicalDHPubkey
}
func
(
m
*
mockE2e
)
GetHistoricalDHPrivkey
()
*
cyclic
.
Int
{
return
m
.
historicalDHPrivkey
}
// Adheres to the Session interface.
type
mockSession
struct
{
regCode
string
transmissionID
*
id
.
ID
transmissionSalt
[]
byte
receptionID
*
id
.
ID
receptionSalt
[]
byte
receptionRSA
*
rsa
.
PrivateKey
transmissionRSA
*
rsa
.
PrivateKey
transmissionRegistrationValidationSignature
[]
byte
receptionRegistrationValidationSignature
[]
byte
registrationTimestamp
time
.
Time
}
func
newMockSession
(
t
testing
.
TB
)
*
mockSession
{
receptionRSA
,
_
:=
rsa
.
LoadPrivateKeyFromPem
([]
byte
(
privKey
))
transmissionRSA
,
_
:=
rsa
.
LoadPrivateKeyFromPem
([]
byte
(
privKey
))
return
&
mockSession
{
regCode
:
"regCode"
,
transmissionID
:
id
.
NewIdFromString
(
"transmission"
,
id
.
User
,
t
),
transmissionSalt
:
[]
byte
(
"transmissionSalt"
),
receptionID
:
id
.
NewIdFromString
(
"reception"
,
id
.
User
,
t
),
receptionSalt
:
[]
byte
(
"receptionSalt"
),
receptionRSA
:
receptionRSA
,
transmissionRSA
:
transmissionRSA
,
transmissionRegistrationValidationSignature
:
[]
byte
(
"transmissionSig"
),
receptionRegistrationValidationSignature
:
[]
byte
(
"receptionSig"
),
registrationTimestamp
:
time
.
Date
(
2012
,
12
,
21
,
22
,
8
,
41
,
0
,
time
.
UTC
),
}
}
func
(
m
mockSession
)
GetRegCode
()
(
string
,
error
)
{
return
m
.
regCode
,
nil
}
func
(
m
mockSession
)
GetTransmissionID
()
*
id
.
ID
{
return
m
.
transmissionID
}
func
(
m
mockSession
)
GetTransmissionSalt
()
[]
byte
{
return
m
.
transmissionSalt
}
func
(
m
mockSession
)
GetReceptionID
()
*
id
.
ID
{
return
m
.
receptionID
}
func
(
m
mockSession
)
GetReceptionSalt
()
[]
byte
{
return
m
.
receptionSalt
}
func
(
m
mockSession
)
GetReceptionRSA
()
*
rsa
.
PrivateKey
{
return
m
.
receptionRSA
}
func
(
m
mockSession
)
GetTransmissionRSA
()
*
rsa
.
PrivateKey
{
return
m
.
transmissionRSA
}
func
(
m
mockSession
)
GetTransmissionRegistrationValidationSignature
()
[]
byte
{
return
m
.
transmissionRegistrationValidationSignature
}
func
(
m
mockSession
)
GetReceptionRegistrationValidationSignature
()
[]
byte
{
return
m
.
receptionRegistrationValidationSignature
}
func
(
m
mockSession
)
GetRegistrationTimestamp
()
time
.
Time
{
return
m
.
registrationTimestamp
}
// Adheres to the UserDiscovery interface.
type
mockUserDiscovery
struct
{
facts
fact
.
FactList
}
func
newMockUserDiscovery
()
*
mockUserDiscovery
{
return
&
mockUserDiscovery
{
facts
:
fact
.
FactList
{
{
"myUserName"
,
fact
.
Username
},
{
"hello@example.com"
,
fact
.
Email
},
{
"6175555212"
,
fact
.
Phone
},
{
"name"
,
fact
.
Nickname
},
}}
}
func
(
m
mockUserDiscovery
)
GetFacts
()
fact
.
FactList
{
return
m
.
facts
}
const
privKey
=
`-----BEGIN PRIVATE KEY-----
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
OaRA5ZbdE7g7vxKRV36jT3wvD7W+
-----END PRIVATE KEY-----`
Loading