From f1b89ec8d609dc4e34edae0adf24d72c8a7a24c2 Mon Sep 17 00:00:00 2001 From: Cam Cook Date: Tue, 27 May 2025 19:57:33 -0400 Subject: [PATCH] feat: get api key --- lib/aura/repos.ex | 6 ++++++ test/aura/repos_test.exs | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/aura/repos.ex b/lib/aura/repos.ex index 50497f2..d3af05c 100644 --- a/lib/aura/repos.ex +++ b/lib/aura/repos.ex @@ -24,4 +24,10 @@ defmodule Aura.Repos do {:ok, HexRepo.build(body)} end end + + def get_api_key(key_name, opts \\ []) do + with {:ok, %{body: body}} <- Requester.get("/keys/#{key_name}", opts) do + {:ok, HexAPIKey.build(body)} + end + end end diff --git a/test/aura/repos_test.exs b/test/aura/repos_test.exs index 4c226bb..ffc8d2f 100644 --- a/test/aura/repos_test.exs +++ b/test/aura/repos_test.exs @@ -14,7 +14,7 @@ defmodule Aura.ReposTest do assert {:ok, [%{name: "acme"}]} = Repos.list_repos(repo_url: mock_repo) end - test "list_api_keys" do + test "list_api_keys / get_api_key" do # use another repo mock_repo = TestHelper.get_mock_repo() api_key = TestHelper.get_mock_api_key() @@ -28,6 +28,9 @@ defmodule Aura.ReposTest do assert api_key.name assert api_key.url + assert {:ok, retrieved} = Repos.get_api_key(api_key.name) + assert retrieved.name == api_key.name + Application.delete_env(:aura, :repo_url) Application.delete_env(:aura, :api_key) end