Skip to content

Commit 67d4962

Browse files
noaccOSnedimtokic
andauthored
refactor: make list keys return the list of keys (#1866)
previously it was returning the response body as a whole Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com> Co-authored-by: nedimtokic <64848448+nedimtokic@users.noreply.github.com>
1 parent 4929960 commit 67d4962

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

apps/astarte_pairing/lib/astarte_pairing/fdo/open_bao/core.ex

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,16 +253,22 @@ defmodule Astarte.Pairing.FDO.OpenBao.Core do
253253
end
254254
end
255255

256-
@spec list_keys(String.t()) ::
257-
:error | {:error, Jason.DecodeError.t()} | {:ok, any()}
256+
@spec list_keys(String.t()) :: {:ok, [String.t()]} | :error
258257
def list_keys(namespace) do
259258
headers = [{"Content-Type", "application/json"}]
260259

261260
options = [{:namespace, namespace}]
262261

263262
case Client.list("/transit/keys", headers, options) do
264263
{:ok, %HTTPoison.Response{status_code: 200, body: resp_body}} ->
265-
parse_json_data(resp_body)
264+
case parse_data_key(resp_body, "keys") do
265+
{:ok, keys} ->
266+
{:ok, keys}
267+
268+
{:error, reason} ->
269+
Logger.error("Encountered error while getting keys list: #{inspect(reason)}")
270+
:error
271+
end
266272

267273
{:ok, %HTTPoison.Response{status_code: 404}} ->
268274
{:ok, []}

apps/astarte_pairing/lib/astarte_pairing/fdo/open_bao/open_bao.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ defmodule Astarte.Pairing.FDO.OpenBao do
3737
end
3838
end
3939

40-
@spec list_keys_names() :: {:ok, map()} | :error
40+
@spec list_keys_names() :: {:ok, [String.t()]} | :error
4141
def list_keys_names(opts \\ []) do
4242
namespace = Keyword.fetch!(opts, :namespace)
4343

apps/astarte_pairing/test/astarte_pairing/fdo/open_bao/open_bao_test.exs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ defmodule Astarte.Pairing.FDO.OpenBaoTest do
408408
"allow_plaintext_backup" => ^allow_key_export_and_backup
409409
} = key_data2
410410

411-
assert {:ok, %{"keys" => [key_name, key_name1, key_name2]}} == OpenBao.list_keys_names(opts)
411+
assert {:ok, [key_name, key_name1, key_name2]} == OpenBao.list_keys_names(opts)
412412
end
413413

414414
@tag key_type: :es384
@@ -446,7 +446,7 @@ defmodule Astarte.Pairing.FDO.OpenBaoTest do
446446
"allow_plaintext_backup" => ^allow_key_export_and_backup
447447
} = key_data2
448448

449-
assert {:ok, %{"keys" => [key_name, key_name1, key_name2]}} == OpenBao.list_keys_names(opts)
449+
assert {:ok, [key_name, key_name1, key_name2]} == OpenBao.list_keys_names(opts)
450450
end
451451

452452
@tag key_type: :rs256
@@ -484,7 +484,7 @@ defmodule Astarte.Pairing.FDO.OpenBaoTest do
484484
"allow_plaintext_backup" => ^allow_key_export_and_backup
485485
} = key_data2
486486

487-
assert {:ok, %{"keys" => [key_name, key_name1, key_name2]}} == OpenBao.list_keys_names(opts)
487+
assert {:ok, [key_name, key_name1, key_name2]} == OpenBao.list_keys_names(opts)
488488
end
489489

490490
@tag key_type: :rs384
@@ -522,7 +522,7 @@ defmodule Astarte.Pairing.FDO.OpenBaoTest do
522522
"allow_plaintext_backup" => ^allow_key_export_and_backup
523523
} = key_data2
524524

525-
assert {:ok, %{"keys" => [key_name, key_name1, key_name2]}} == OpenBao.list_keys_names(opts)
525+
assert {:ok, [key_name, key_name1, key_name2]} == OpenBao.list_keys_names(opts)
526526
end
527527
end
528528

0 commit comments

Comments
 (0)