Skip to content

Commit

Permalink
temp
Browse files Browse the repository at this point in the history
  • Loading branch information
apoorv-2204 committed Nov 7, 2022
1 parent 2ae0aaa commit 7916727
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 3 deletions.
9 changes: 7 additions & 2 deletions lib/archethic/self_repair/notifier/repair_worker.ex
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ defmodule Archethic.SelfRepair.Notifier.RepairWorker do
def init(args) do
Registry.register(Notifier.Impl.registry_name(), args.genesis_address, [])
Logger.debug("RepairWorker: Repair Started", address: args.genesis_address)
IO.inspect(label: "--")

# note Imp
# genserver continue msg to to continue in genserver
{:ok, _next_state = :repair_started,
_data = %{
genesis_address: args.genesis_address,
Expand All @@ -33,6 +32,8 @@ defmodule Archethic.SelfRepair.Notifier.RepairWorker do
addresses: address_list
}
) do
IO.inspect(label: "---")

[repair_addr | new_address_list] = address_list
{:ok, _} = Notifier.Impl.repair_chain(repair_addr, server_data.genesis_address)

Expand All @@ -51,14 +52,18 @@ defmodule Archethic.SelfRepair.Notifier.RepairWorker do
_server_data
) do
Logger.debug("RepairWorker: state Loops")
IO.inspect(label: "----")

:keep_state_and_data
end

def handle_event(:internal, :process_update_requests, :repair_started, server_data) do
IO.inspect(label: "-----")

case server_data.addresses do
[] ->
Logger.debug("Done processing Requests", server_data: server_data)
IO.inspect(label: "--------")

:stop

Expand Down
41 changes: 41 additions & 0 deletions test/archethic/self_repair/notifier/repair_worker_test.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
defmodule Archethic.SelfRepair.Notifier.RepairWorkerTest do
@moduledoc false
use ArchethicCase

alias Archethic.SelfRepair.Notifier.RepairWorker

import Mox

describe "RepairWorker FSM Behaviour" do
setup do
case Process.whereis(@registry_name) do
nil ->
start_supervised!({Registry, name: @registry_name, keys: :unique, partitions: 1})

pid when is_pid(pid) ->
:ok
end

:ok
end

test "State-Event Behaviour" do
opts = %{genesis_address: "chainA_genesis_address", last_address: "chainA_last_address"}

MockDB
|> stub(
:transaction_exists?,
fn _ ->
IO.inspect("processsleep")
Process.sleep(1500)
false
end
)

pid = start_supervised!({RepairWorker, opts})
Registry.lookup(@)
:sys.get_state(pid)
|> IO.inspect(label: "=======")
end
end
end
8 changes: 7 additions & 1 deletion test/support/transaction_factory.ex
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ defmodule Archethic.TransactionFactory do

alias Archethic.TransactionChain.TransactionData

@deprecated "use_create_valid_chain/2 instead"
def create_valid_transaction(
inputs \\ [],
opts \\ []
Expand Down Expand Up @@ -226,7 +227,8 @@ defmodule Archethic.TransactionFactory do
end

@doc """
Creates a valid Node Shared Secrets Tx with parameters index, timestamp, prev_txn
Creates a valid Node Shared Secrets Tx with parameters index, timestamp, prev_txn.any()
requires valid_p2p_Context
"""
@spec create_network_tx(:node_shared_secrets, keyword) ::
Archethic.TransactionChain.Transaction.t()
Expand Down Expand Up @@ -273,6 +275,10 @@ defmodule Archethic.TransactionFactory do
}
end

@doc """
Creates a valid Txn Chain with parameters index, timestamp, prev_txn.
required valid_p2p_Context
"""
def create_valid_chain(
inputs \\ [],
opts \\ []
Expand Down

0 comments on commit 7916727

Please sign in to comment.