Skip to content

Commit 11935fd

Browse files
committed
WIP fix tests and some FIXMEs
1 parent cd013de commit 11935fd

22 files changed

+100
-113
lines changed

node/src/main/scala/identus/apollo/Apollo.scala renamed to common/src/main/scala/identus/apollo/Apollo.scala

+5
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ object MyKeyPair {
133133
??? // FIXME
134134
}
135135
}
136+
137+
def generateKeyPair: MyKeyPair = ??? // FIXME EC.generateKeyPair()
138+
// import io.iohk.atala.prism.crypto.EC.{INSTANCE => EC}
139+
// import io.iohk.atala.prism.crypto.ECConfig.{INSTANCE => ECConfig}
140+
// import io.iohk.atala.prism.crypto.keys.{ECKeyPair, ECPublicKey}
136141
}
137142

138143
case class CurvePoint(x: Array[Byte], y: Array[Byte])

common/src/test/scala/io/iohk/atala/prism/auth/utils/DIDUtilsSpec.scala

+15-18
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package io.iohk.atala.prism.auth.utils
22

33
import com.google.protobuf.ByteString
44
import io.iohk.atala.prism.auth.errors.UnknownPublicKeyId
5-
import io.iohk.atala.prism.crypto.EC.{INSTANCE => EC}
6-
import io.iohk.atala.prism.crypto.keys.{ECKeyPair, ECPublicKey}
75
import io.iohk.atala.prism.protos.node_models
86
import io.iohk.atala.prism.protos.node_models.{CompressedECKeyData, DIDData, ECKeyData}
97
import org.scalatest.matchers.must.Matchers
@@ -12,12 +10,12 @@ import io.iohk.atala.prism.crypto.ECConfig.{INSTANCE => ECConfig}
1210
import org.scalatest.concurrent.ScalaFutures.convertScalaFuture
1311

1412
import scala.concurrent.ExecutionContext.Implicits.global
13+
import identus.apollo.PublicKey
14+
import identus.apollo.MyKeyPair
1515

1616
class DIDUtilsSpec extends AnyWordSpec with Matchers {
17-
val masterKeys: ECKeyPair = EC.generateKeyPair()
18-
val masterEcKeyData: ECKeyData = protoECKeyDataFromPublicKey(
19-
masterKeys.getPublicKey
20-
)
17+
val masterKeys: MyKeyPair = MyKeyPair.generateKeyPair
18+
val masterEcKeyData: ECKeyData = protoECKeyDataFromPublicKey(masterKeys.publicKey)
2119
val masterEcKeyDataPublicKey = node_models
2220
.PublicKey(
2321
"master",
@@ -29,7 +27,7 @@ class DIDUtilsSpec extends AnyWordSpec with Matchers {
2927
node_models.PublicKey.KeyData.EcKeyData(masterEcKeyData)
3028
)
3129
val masterCompressedEcKeyData: CompressedECKeyData =
32-
protoCompressedECKeyDataFromPublicKey(masterKeys.getPublicKey)
30+
protoCompressedECKeyDataFromPublicKey(masterKeys.publicKey)
3331
val masterCompressedEcKeyDataPublicKey = node_models
3432
.PublicKey(
3533
"master",
@@ -43,21 +41,20 @@ class DIDUtilsSpec extends AnyWordSpec with Matchers {
4341
)
4442
)
4543

46-
def protoECKeyDataFromPublicKey(key: ECPublicKey): ECKeyData = {
47-
val point = key.getCurvePoint
48-
44+
def protoECKeyDataFromPublicKey(key: PublicKey): ECKeyData = {
45+
val point = key.toCurvePoint
4946
node_models.ECKeyData(
50-
curve = ECConfig.getCURVE_NAME,
51-
x = ByteString.copyFrom(point.getX.bytes()),
52-
y = ByteString.copyFrom(point.getY.bytes())
47+
curve = key.curveName,
48+
x = ByteString.copyFrom(point.x),
49+
y = ByteString.copyFrom(point.y)
5350
)
5451
}
5552

5653
def protoCompressedECKeyDataFromPublicKey(
57-
key: ECPublicKey
54+
key: PublicKey
5855
): CompressedECKeyData =
5956
node_models.CompressedECKeyData(
60-
curve = ECConfig.getCURVE_NAME,
57+
curve = key.curveName,
6158
data = ByteString.copyFrom(key.getEncodedCompressed)
6259
)
6360

@@ -66,14 +63,14 @@ class DIDUtilsSpec extends AnyWordSpec with Matchers {
6663
val didData =
6764
DIDData(publicKeys = Seq(masterCompressedEcKeyDataPublicKey))
6865
DIDUtils.findPublicKey(didData, "master").value.futureValue mustBe Right(
69-
masterKeys.getPublicKey
66+
masterKeys.publicKey
7067
)
7168
}
7269

7370
"return key given publicKey contains not compressed dKeyData" in {
7471
val didData = DIDData(publicKeys = Seq(masterEcKeyDataPublicKey))
7572
DIDUtils.findPublicKey(didData, "master").value.futureValue mustBe Right(
76-
masterKeys.getPublicKey
73+
masterKeys.publicKey
7774
)
7875
}
7976

@@ -96,7 +93,7 @@ class DIDUtilsSpec extends AnyWordSpec with Matchers {
9693
)
9794
val didData = DIDData(publicKeys = Seq(compressedAsUncompressedKey))
9895
DIDUtils.findPublicKey(didData, "master").value.futureValue mustBe Right(
99-
masterKeys.getPublicKey
96+
masterKeys.publicKey
10097
)
10198
}
10299
}

node/src/main/scala/io/iohk/atala/prism/node/grpc/ProtoCodecs.scala

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package io.iohk.atala.prism.node.grpc
22

3-
import java.security.PublicKey
43
import com.google.protobuf.ByteString
54
import io.iohk.atala.prism.protos.models.TimestampInfo
65
import io.iohk.atala.prism.crypto.EC.{INSTANCE => EC}
76
import io.iohk.atala.prism.crypto.keys.ECPublicKey
8-
// import io.iohk.atala.prism.crypto.ECConfig.{INSTANCE => ECConfig} // REMVOE
97
import io.iohk.atala.prism.models.{DidSuffix, Ledger}
108
import io.iohk.atala.prism.protos.common_models
119
import io.iohk.atala.prism.node.models
@@ -15,6 +13,7 @@ import io.iohk.atala.prism.protos.node_models
1513
import io.iohk.atala.prism.utils.syntax._
1614

1715
import java.time.Instant
16+
import java.security.PublicKey
1817
// import io.iohk.atala.prism.apollo.utils.KMMECPoint // REMVOE
1918

2019
object ProtoCodecs {

node/src/test/scala/io/iohk/atala/prism/node/NodeExplorerServiceSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ class NodeExplorerServiceSpec
174174
"NodeExplorerService.getScheduledAtalaOperations" should {
175175
"return scheduled operations in correct order" in {
176176
def sign(op: node_models.AtalaOperation): SignedAtalaOperation =
177-
BlockProcessingServiceSpec.signOperation(op, "master", CreateDIDOperationSpec.masterKeys.getPrivateKey)
177+
BlockProcessingServiceSpec.signOperation(op, "master", CreateDIDOperationSpec.masterKeys.privateKey)
178178

179179
def toAtalaObject(ops: List[node_models.AtalaOperation]): node_internal.AtalaObject = {
180180
val block = node_internal.AtalaBlock(ops.map(sign))

node/src/test/scala/io/iohk/atala/prism/node/NodeServiceSpec.scala

+21-21
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class NodeServiceSpec
126126
didSuffix,
127127
"master",
128128
KeyUsage.MasterKey,
129-
CreateDIDOperationSpec.masterKeys.getPublicKey
129+
CreateDIDOperationSpec.masterKeys.publicKey
130130
)
131131
PublicKeysDAO
132132
.insert(key, dummyLedgerData)
@@ -164,7 +164,7 @@ class NodeServiceSpec
164164
}
165165

166166
"return error for a long form DID" in {
167-
val masterKey = CreateDIDOperationSpec.masterKeys.getPublicKey
167+
val masterKey = CreateDIDOperationSpec.masterKeys.publicKey
168168
val longFormDID = DID.buildLongFormFromMasterPublicKey(masterKey)
169169
doReturn(fake[Instant](dummySyncTimestamp))
170170
.when(objectManagementService)
@@ -184,7 +184,7 @@ class NodeServiceSpec
184184
val operation = BlockProcessingServiceSpec.signOperation(
185185
CreateDIDOperationSpec.exampleOperation,
186186
"master",
187-
CreateDIDOperationSpec.masterKeys.getPrivateKey
187+
CreateDIDOperationSpec.masterKeys.privateKey
188188
)
189189
val operationId = AtalaOperationId.of(operation)
190190
mockOperationId(operationId)
@@ -211,7 +211,7 @@ class NodeServiceSpec
211211
val operation = BlockProcessingServiceSpec.signOperation(
212212
CreateDIDOperationSpec.exampleOperationWithCompressedKeys,
213213
"master",
214-
CreateDIDOperationSpec.masterKeys.getPrivateKey
214+
CreateDIDOperationSpec.masterKeys.privateKey
215215
)
216216
val operationId = AtalaOperationId.of(operation)
217217
mockOperationId(operationId)
@@ -242,7 +242,7 @@ class NodeServiceSpec
242242
_.updateDid.actions(0).addKey.key.id := ""
243243
),
244244
"master",
245-
CreateDIDOperationSpec.masterKeys.getPrivateKey
245+
CreateDIDOperationSpec.masterKeys.privateKey
246246
)
247247

248248
val error = intercept[StatusRuntimeException] {
@@ -259,7 +259,7 @@ class NodeServiceSpec
259259
val operation = BlockProcessingServiceSpec.signOperation(
260260
UpdateDIDOperationSpec.exampleAddAndRemoveOperation,
261261
"master",
262-
UpdateDIDOperationSpec.masterKeys.getPrivateKey
262+
UpdateDIDOperationSpec.masterKeys.privateKey
263263
)
264264
val operationId = AtalaOperationId.of(operation)
265265
mockOperationId(operationId)
@@ -280,7 +280,7 @@ class NodeServiceSpec
280280
val operation = BlockProcessingServiceSpec.signOperation(
281281
UpdateDIDOperationSpec.exampleOperationWithCompressedKeys,
282282
"master",
283-
UpdateDIDOperationSpec.masterKeys.getPrivateKey
283+
UpdateDIDOperationSpec.masterKeys.privateKey
284284
)
285285
val operationId = AtalaOperationId.of(operation)
286286
mockOperationId(operationId)
@@ -303,7 +303,7 @@ class NodeServiceSpec
303303
_.updateDid.id := "abc#@!"
304304
),
305305
"master",
306-
UpdateDIDOperationSpec.masterKeys.getPrivateKey
306+
UpdateDIDOperationSpec.masterKeys.privateKey
307307
)
308308

309309
val error = intercept[StatusRuntimeException] {
@@ -320,7 +320,7 @@ class NodeServiceSpec
320320
val operation = BlockProcessingServiceSpec.signOperation(
321321
IssueCredentialBatchOperationSpec.exampleOperation,
322322
"master",
323-
CreateDIDOperationSpec.masterKeys.getPrivateKey
323+
CreateDIDOperationSpec.masterKeys.privateKey
324324
)
325325
val operationId = AtalaOperationId.of(operation)
326326
mockOperationId(operationId)
@@ -352,7 +352,7 @@ class NodeServiceSpec
352352
.copyFrom("abc".getBytes)
353353
),
354354
"master",
355-
CreateDIDOperationSpec.masterKeys.getPrivateKey
355+
CreateDIDOperationSpec.masterKeys.privateKey
356356
)
357357

358358
val error = intercept[StatusRuntimeException] {
@@ -369,7 +369,7 @@ class NodeServiceSpec
369369
val operation = BlockProcessingServiceSpec.signOperation(
370370
RevokeCredentialsOperationSpec.revokeFullBatchOperation,
371371
"master",
372-
CreateDIDOperationSpec.masterKeys.getPrivateKey
372+
CreateDIDOperationSpec.masterKeys.privateKey
373373
)
374374
val operationId = AtalaOperationId.of(operation)
375375
mockOperationId(operationId)
@@ -392,7 +392,7 @@ class NodeServiceSpec
392392
_.revokeCredentials.credentialBatchId := ""
393393
),
394394
"master",
395-
CreateDIDOperationSpec.masterKeys.getPrivateKey
395+
CreateDIDOperationSpec.masterKeys.privateKey
396396
)
397397

398398
val error = intercept[StatusRuntimeException] {
@@ -463,7 +463,7 @@ class NodeServiceSpec
463463
val validOperation = BlockProcessingServiceSpec.signOperation(
464464
CreateDIDOperationSpec.exampleOperation,
465465
"master",
466-
CreateDIDOperationSpec.masterKeys.getPrivateKey
466+
CreateDIDOperationSpec.masterKeys.privateKey
467467
)
468468
val operationId = AtalaOperationId.of(validOperation)
469469
val operationIdProto = operationId.toProtoByteString
@@ -497,7 +497,7 @@ class NodeServiceSpec
497497
val validOperation = BlockProcessingServiceSpec.signOperation(
498498
CreateDIDOperationSpec.exampleOperation,
499499
"master",
500-
CreateDIDOperationSpec.masterKeys.getPrivateKey
500+
CreateDIDOperationSpec.masterKeys.privateKey
501501
)
502502
val operationId = AtalaOperationId.of(validOperation)
503503
val operationIdProto = operationId.toProtoByteString
@@ -821,7 +821,7 @@ class NodeServiceSpec
821821
val validOperation = BlockProcessingServiceSpec.signOperation(
822822
CreateDIDOperationSpec.exampleOperation,
823823
"master",
824-
CreateDIDOperationSpec.masterKeys.getPrivateKey
824+
CreateDIDOperationSpec.masterKeys.privateKey
825825
)
826826

827827
val invalidOperation = BlockProcessingServiceSpec.signOperation(
@@ -831,7 +831,7 @@ class NodeServiceSpec
831831
.copyFrom("abc".getBytes)
832832
),
833833
"master",
834-
CreateDIDOperationSpec.masterKeys.getPrivateKey
834+
CreateDIDOperationSpec.masterKeys.privateKey
835835
)
836836

837837
val error = intercept[StatusRuntimeException] {
@@ -849,14 +849,14 @@ class NodeServiceSpec
849849
val createDIDOperation = BlockProcessingServiceSpec.signOperation(
850850
CreateDIDOperationSpec.exampleOperation,
851851
"master",
852-
CreateDIDOperationSpec.masterKeys.getPrivateKey
852+
CreateDIDOperationSpec.masterKeys.privateKey
853853
)
854854
val createDIDOperationId = AtalaOperationId.of(createDIDOperation)
855855

856856
val issuanceOperation = BlockProcessingServiceSpec.signOperation(
857857
IssueCredentialBatchOperationSpec.exampleOperation,
858858
"master",
859-
CreateDIDOperationSpec.masterKeys.getPrivateKey
859+
CreateDIDOperationSpec.masterKeys.privateKey
860860
)
861861
val issuanceOperationId = AtalaOperationId.of(issuanceOperation)
862862

@@ -906,14 +906,14 @@ class NodeServiceSpec
906906
val createDIDOperation = BlockProcessingServiceSpec.signOperation(
907907
CreateDIDOperationSpec.exampleOperation,
908908
"master",
909-
CreateDIDOperationSpec.masterKeys.getPrivateKey
909+
CreateDIDOperationSpec.masterKeys.privateKey
910910
)
911911
val createDIDOperationId = AtalaOperationId.of(createDIDOperation)
912912

913913
val updateOperation = BlockProcessingServiceSpec.signOperation(
914914
UpdateDIDOperationSpec.exampleAddAndRemoveOperation,
915915
"master",
916-
UpdateDIDOperationSpec.masterKeys.getPrivateKey
916+
UpdateDIDOperationSpec.masterKeys.privateKey
917917
)
918918
val updateOperationId = AtalaOperationId.of(updateOperation)
919919

@@ -956,7 +956,7 @@ class NodeServiceSpec
956956
val revokeOperation = BlockProcessingServiceSpec.signOperation(
957957
RevokeCredentialsOperationSpec.revokeFullBatchOperation,
958958
"master",
959-
CreateDIDOperationSpec.masterKeys.getPrivateKey
959+
CreateDIDOperationSpec.masterKeys.privateKey
960960
)
961961
val revokeOperationId = AtalaOperationId.of(revokeOperation)
962962

node/src/test/scala/io/iohk/atala/prism/node/metrics/OperationsCounterSpec.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.iohk.atala.prism.node.metrics
22

3-
import io.iohk.atala.prism.crypto.EC.{INSTANCE => EC}
43
import org.scalatest.wordspec.AnyWordSpec
54
import io.iohk.atala.prism.node.services.BlockProcessingServiceSpec
65
import io.iohk.atala.prism.protos.node_models.{AtalaOperation, SignedAtalaOperation}
@@ -15,12 +14,13 @@ import io.iohk.atala.prism.node.operations.{
1514
ProtocolVersionUpdateOperationSpec,
1615
DeactivateDIDOperationSpec
1716
}
17+
import identus.apollo.MyKeyPair
1818

1919
class OperationsCounterSpec extends AnyWordSpec with Matchers {
2020
"countReceivedAtalaOperations" should {
2121
"count all types of operations" in {
2222
val signingKeyId = "master"
23-
val signingKey = EC.generateKeyPair().getPrivateKey
23+
val signingKey = MyKeyPair.generateKeyPair.privateKey
2424
def sign(op: AtalaOperation): SignedAtalaOperation = BlockProcessingServiceSpec.signOperation(
2525
op,
2626
signingKeyId,

node/src/test/scala/io/iohk/atala/prism/node/migrations/V19MigrationSpec.scala

+7-9
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import io.iohk.atala.prism.crypto.Sha256
1515
import io.iohk.atala.prism.protos.models.TimestampInfo
1616

1717
import java.time.Instant
18+
import identus.apollo.MyKeyPair
1819

1920
class V19MigrationSpec extends PostgresMigrationSpec("db.migration.V19") with BaseDAO {
2021

@@ -34,22 +35,18 @@ class V19MigrationSpec extends PostgresMigrationSpec("db.migration.V19") with Ba
3435
didSuffix,
3536
"master",
3637
KeyUsage.MasterKey,
37-
EC.generateKeyPair().getPublicKey
38+
MyKeyPair.generateKeyPair.publicKey
3839
)
3940

4041
private def insertPublicKey(key: DIDPublicKey, ledgerData: LedgerData) = {
4142
val curveName = ECConfig.getCURVE_NAME
42-
val point = key.key.getCurvePoint
43-
44-
val xBytes = point.getX.bytes()
45-
val yBytes = point.getY.bytes()
46-
43+
val point = key.key.toCurvePoint
4744
val addedOn = ledgerData.timestampInfo
4845
sql"""
4946
|INSERT INTO public_keys (did_suffix, key_id, key_usage, curve, x, y,
5047
| added_on, added_on_absn, added_on_osn,
5148
| added_on_transaction_id, ledger)
52-
|VALUES (${key.didSuffix}, ${key.keyId}, ${key.keyUsage}, $curveName, $xBytes, $yBytes,
49+
|VALUES (${key.didSuffix}, ${key.keyId}, ${key.keyUsage}, $curveName, ${point.x}, ${point.y},
5350
| ${Instant
5451
.ofEpochMilli(
5552
addedOn.getAtalaBlockTimestamp
@@ -69,10 +66,11 @@ class V19MigrationSpec extends PostgresMigrationSpec("db.migration.V19") with Ba
6966
},
7067
afterApplied = {
7168
val inDB = selectPublicKeyCompressed(didPublicKey)
69+
val curvePoint = didPublicKey.key.toCurvePoint
7270
val expected = EC
7371
.toPublicKeyFromByteCoordinates(
74-
didPublicKey.key.getCurvePoint.getX.bytes(),
75-
didPublicKey.key.getCurvePoint.getY.bytes()
72+
curvePoint.x,
73+
curvePoint.y
7674
)
7775
.getEncodedCompressed
7876
inDB mustBe expected

0 commit comments

Comments
 (0)