Skip to content

Commit

Permalink
Merge pull request #2 from esl/fix/rpc-names-and-add-config
Browse files Browse the repository at this point in the history
fix/rpc-names-and-add-config
  • Loading branch information
bryanhuntesl committed Feb 4, 2019
2 parents 5be8bb1 + 3feccbd commit 16aaa4f
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 27 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# buildex_common

# Configuration

Takes the following configuration :

```
config :buildex_common, :admin_node, :"admin@127.0.0.1"
```

[![Coverage Status](https://coveralls.io/repos/github/esl/buildex_common/badge.svg?branch=master)](https://coveralls.io/github/esl/buildex_common?branch=master)

[![Build Status](https://travis-ci.com/esl/buildex_common.svg?branch=master)](https://travis-ci.com/esl/buildex_common)
Expand Down
5 changes: 5 additions & 0 deletions config/config.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
use Mix.Config

config :buildex_common, :rpc_impl, Buildex.Common.Services.RPC

config :buildex_common, :admin_node, :"admin@127.0.0.1"
6 changes: 3 additions & 3 deletions lib/config.ex
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
defmodule Buildex.Common.Config do
alias Buildex.Common.Services.RPC

def get_admin_domain do
Application.get_env(:domain, :admin_domain, :"admin@127.0.0.1")
def get_admin_node do
Application.fetch_env!(:buildex_common, :admin_node)
end

def get_rpc_impl do
Application.get_env(:domain, :rpc_impl, RPC)
Application.get_env(:buildex_common, :rpc_impl, RPC)
end
end
15 changes: 7 additions & 8 deletions lib/services/rpc.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,21 @@ defmodule Buildex.Common.Services.RPC do
@callback get_repo_tasks(Repo.url()) :: any() | {:badrpc, any()}

def get_all_repositories() do
Config.get_admin_domain()
|> :rpc.call(ReleaseAdmin.Repository.Service, :all, [])
Config.get_admin_node()
|> :rpc.call(Buildex.API.Repository.Service, :all, [])
end

def get_all_tags(url) do
Config.get_admin_domain()
|> :rpc.call(ReleaseAdmin.Tag.Service, :repo_tags, [url])
Config.get_admin_node() |> :rpc.call(Buildex.API.Repository.Service, :repo_tags, [url])
end

def create_tag(url, tag) do
Config.get_admin_domain()
|> :rpc.call(ReleaseAdmin.Tag.Service, :create_tag, [url, tag])
Config.get_admin_node()
|> :rpc.call(Buildex.API.Repository.Service, :create_tag, [url, tag])
end

def get_repo_tasks(url) do
Config.get_admin_domain()
|> :rpc.call(ReleaseAdmin.Task.Service, :repo_tasks, [url])
Config.get_admin_node()
|> :rpc.call(Buildex.API.Repository.Service, :repo_tasks, [url])
end
end
1 change: 0 additions & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ defmodule Buildex.Common.MixProject do

defp deps do
[
# {:credo, "~> 0.9.1", only: [:dev, :test]},
{:credo, "~> 1.0.0", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.18", only: :dev, runtime: false},
{:ex_docker_build, "~> 0.6.0"},
Expand Down
29 changes: 15 additions & 14 deletions test/services/database_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,20 @@ defmodule Buildex.Common.Services.DatabaseTest do
setup :verify_on_exit!

setup do
Application.put_env(:domain, :rpc_impl, Buildex.Common.Service.Local)
Application.put_env(:buildex_common, :rpc_impl, Buildex.Common.Service.RPC_Mock)
:ok
end

describe "get_all_repositories/0" do
test "gets 0 repositories" do
Buildex.Common.Service.Local
|> expect(:get_all_repositories, fn -> [] end)
Buildex.Common.Service.RPC_Mock
|> stub(:get_all_repositories, fn -> [] end)

assert {:ok, []} = Database.get_all_repositories()
end

test "gets all repositories" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_all_repositories, fn ->
[
%{
Expand All @@ -44,7 +45,7 @@ defmodule Buildex.Common.Services.DatabaseTest do
end

test "error getting repositories" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_all_repositories, fn -> {:badrpc, :nodedown} end)

assert {:error, :nodedown} = Database.get_all_repositories()
Expand All @@ -53,14 +54,14 @@ defmodule Buildex.Common.Services.DatabaseTest do

describe "get_all_tags/1" do
test "gets 0 tags" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_all_tags, fn _ -> [] end)

assert {:ok, []} = Database.get_all_tags("url")
end

test "gets all repo tags" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_all_tags, fn _ ->
[
%{
Expand Down Expand Up @@ -91,7 +92,7 @@ defmodule Buildex.Common.Services.DatabaseTest do
end

test "error getting repo tags" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_all_tags, fn _ -> {:badrpc, :nodedown} end)

assert {:error, :nodedown} = Database.get_all_tags("url")
Expand All @@ -100,7 +101,7 @@ defmodule Buildex.Common.Services.DatabaseTest do

describe "create_tag/2" do
test "creates task successfully" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:create_tag, fn _, _ ->
{:ok, %{}}
end)
Expand All @@ -109,14 +110,14 @@ defmodule Buildex.Common.Services.DatabaseTest do
end

test "error creating tag - badrpc" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:create_tag, fn _, _ -> {:badrpc, :nodedown} end)

assert {:error, :nodedown} = Database.create_tag("url", %Tag{name: "v1.6.6"})
end

test "error creating tag - error" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:create_tag, fn _, _ -> {:error, :invalid} end)

assert {:error, :invalid} = Database.create_tag("url", %Tag{name: "v1.6.6"})
Expand All @@ -125,14 +126,14 @@ defmodule Buildex.Common.Services.DatabaseTest do

describe "get_repo_tasks/1" do
test "get 0 tasks" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_repo_tasks, fn _ -> [] end)

assert {:ok, []} = Database.get_repo_tasks("url")
end

test "get all repo tasks" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_repo_tasks, fn _ ->
[
%{
Expand Down Expand Up @@ -191,7 +192,7 @@ defmodule Buildex.Common.Services.DatabaseTest do
end

test "error getting repo tasks" do
Buildex.Common.Service.Local
Buildex.Common.Service.RPC_Mock
|> expect(:get_repo_tasks, fn _ -> {:badrpc, :nodedown} end)

assert {:error, :nodedown} = Database.get_repo_tasks("url")
Expand Down
3 changes: 2 additions & 1 deletion test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Mox.defmock(Buildex.Common.Service.Local, for: Buildex.Common.Services.RPC)
Mimic.copy(ExDockerBuild)

Mox.defmock(Buildex.Common.Service.RPC_Mock, for: Buildex.Common.Services.RPC)

ExUnit.start()

0 comments on commit 16aaa4f

Please sign in to comment.