Skip to content

Commit 0dbe75f

Browse files
committed
test(pairing) start to add fdo tests
Signed-off-by: Eddy Babetto <eddy.babetto@secomind.com>
1 parent 06f6502 commit 0dbe75f

2 files changed

Lines changed: 95 additions & 0 deletions

File tree

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#
2+
# This file is part of Astarte.
3+
#
4+
# Copyright 2017 - 2025 SECO Mind Srl
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
18+
19+
defmodule Astarte.Pairing.FDO.OwnershipVoucherTest do
20+
use Astarte.Cases.Data, async: true
21+
use Astarte.Cases.Device
22+
23+
import Astarte.Helpers.Device
24+
25+
alias Astarte.Pairing.FDO.OwnershipVoucher
26+
alias Astarte.Pairing.Queries
27+
use Mimic
28+
29+
@realm_name "test"
30+
31+
@ownership_voucher """
32+
-----BEGIN OWNERSHIP VOUCHER-----
33+
hRhlWM+GGGVQr63QkMp3nYL1GhV8NSIHDIGEggNDGR+SggJFRH8AAAGCBEMZH5KC
34+
DEEBa3Rlc3QtZGV2aWNlgwoBWFswWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR+
35+
ZAJTHLueZHU5DX1qdH6ZvbvmW69aO2RK+uJ20YSmeJZTp1TiV3jpdBhyEOr1pY1O
36+
jPvl3vS/j/gbrSCwr+rfgjgqWDBZh6iPbdAa5zursMvPQeFRIFck3btlLPsXozLj
37+
E0eV+ktxM0RdDTSr93qKaHcxyVOCBlgwwbWxktdFSJYycNKe/nOUEM/38hWmgZqT
38+
KTuhUp5bj+njyqipW+XieEZWi/hI4aLQglkBPjCCATowgeGgAwIBAgIJANsx49Cs
39+
aXDMMAoGCCqGSM49BAMDMDAxDzANBgNVBAMMBkRldmljZTEQMA4GA1UECgwHRXhh
40+
bXBsZTELMAkGA1UEBhMCVVMwHhcNMjUxMDI3MTQyMTQxWhcNMzUxMDI1MTQyMTQx
41+
WjAWMRQwEgYDVQQDDAt0ZXN0LWRldmljZTBZMBMGByqGSM49AgEGCCqGSM49AwEH
42+
A0IABP2JVosdcxoaEhwUM0Cs3o7RpyTVVWA3m7/fa4NpjSD2l4LFAAnDmQeQmGEA
43+
Zb7bDegDV25BJGJZEllUykjpDCswCgYIKoZIzj0EAwMDSAAwRQIgCzLXLWA+HyzK
44+
SbOjsey72cVUyIseO5ZccBqk3riDaMwCIQCn6GGwvDYrqFCv7E/S4CavqIjh2qTn
45+
Zrw5SPrFFlaQNFkBVzCCAVMwgfqgAwIBAgIIONKn09qIvrMwCgYIKoZIzj0EAwIw
46+
MDEPMA0GA1UEAwwGRGV2aWNlMRAwDgYDVQQKDAdFeGFtcGxlMQswCQYDVQQGEwJV
47+
UzAeFw0yNTEwMjcxMjAwMTJaFw0yNjEwMjcxMjAwMTJaMDAxDzANBgNVBAMMBkRl
48+
dmljZTEQMA4GA1UECgwHRXhhbXBsZTELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIB
49+
BggqhkjOPQMBBwNCAAS2VYoG7RvZJ3viS2iIJHJ3Kc6RBxrLvU4cXMwzf3BVmbMD
50+
0Fm7RCul90MY0HA70mo2uliQl+hBIPt6CZL88HnlMAoGCCqGSM49BAMCA0gAMEUC
51+
IQD8o8cHYlu173xtkO+iYWDz1YtlHX5qgM+5eI+bAxiWDQIgeAI42brmHjg8k8uL
52+
hCBiOubCszNsE8nt95lmrbx4SPeB0oRDoQEmoFjMhII4KlgwjcflehRF07wE+oSS
53+
rvbtBDn2SfN2NJY5BoIR3cJwaW2BHUILDIp6dK+MFEU8gMgngjgqWDAlmi74Lcun
54+
Drl3FFJMbuEkFbijwOnEwLkK5YRtjZHZhqCjiNAj7dJZdbOTzaauvnD2gwoBWFsw
55+
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARL5OQDtW0lC/1hDvnKXlu1cpH9yyjJ
56+
8vNhZRODFWIYx8mS+qXhbfOu1FpU9T0jTpM4cULYzDL71LcDtRa/8Ra2WEDgl/oT
57+
yVhaI7XTPziNidQB/6h7rAsYKGjb1odrsLdmeFObSIdVHgG3GLGc/mq/3AMhy5tl
58+
rPbEwDSoPhfFnX0W
59+
-----END OWNERSHIP VOUCHER-----
60+
"""
61+
@invalid_ownership_voucher """
62+
-----BEGIN OWNERSHIP VOUCHER-----
63+
some invalid voucher
64+
-----END OWNERSHIP VOUCHER-----
65+
"""
66+
@private_key """
67+
-----BEGIN EC PRIVATE KEY-----
68+
some text
69+
-----END EC PRIVATE KEY-----
70+
"""
71+
72+
describe "handle ownership voucher," do
73+
test "save voucher data ", ctx do
74+
%{
75+
realm_name: realm_name
76+
} = ctx
77+
78+
Mimic.expect(Queries, :create_ownership_voucher, fn _, _, _, _, _ -> {:ok, %{}} end)
79+
80+
assert :ok = OwnershipVoucher.save_voucher(realm_name, @ownership_voucher, @private_key)
81+
end
82+
83+
test "reject with malformed voucher", ctx do
84+
%{
85+
realm_name: realm_name
86+
} = ctx
87+
88+
Mimic.reject(&Queries.create_ownership_voucher/5)
89+
90+
assert {:error, _} =
91+
OwnershipVoucher.save_voucher(realm_name, @invalid_ownership_voucher, @private_key)
92+
end
93+
end
94+
end

apps/astarte_pairing/test/test_helper.exs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ Mimic.copy(DateTime)
2222
Mimic.copy(Astarte.DataAccess.Health.Health)
2323
Mimic.copy(HTTPoison)
2424
Mimic.copy(Astarte.Events.TriggersHandler)
25+
Mimic.copy(Astarte.Pairing.Queries)
2526

2627
ExUnit.start(capture_log: true)

0 commit comments

Comments
 (0)