From 03e8b49655749137dc2457a0bacd7a6c1796a96f Mon Sep 17 00:00:00 2001 From: Shahryar Tavakkoli Date: Sun, 19 May 2024 16:33:10 +0330 Subject: [PATCH] VIP - change test position --- lib/processing_pipelines/queue/job.ex | 2 +- .../processing_pipelines/queue/queue_test.exs | 59 +++++++++---------- 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/lib/processing_pipelines/queue/job.ex b/lib/processing_pipelines/queue/job.ex index 73fa61f..9d0073a 100644 --- a/lib/processing_pipelines/queue/job.ex +++ b/lib/processing_pipelines/queue/job.ex @@ -370,7 +370,7 @@ defmodule MishkaInstaller.ProcessingPipelines.Queue.Job do pid ) - job_broadcast(worker, "terminate", nil) + job_broadcast(worker, "terminate", result) result nil -> diff --git a/test/processing_pipelines/queue/queue_test.exs b/test/processing_pipelines/queue/queue_test.exs index dc63bd6..5bc7f05 100644 --- a/test/processing_pipelines/queue/queue_test.exs +++ b/test/processing_pipelines/queue/queue_test.exs @@ -284,6 +284,33 @@ defmodule MishkaInstallerTest.ProcessingPipelines.Queue.QueueTest do {:error, :not_found} = assert Job.terminate(pid) end + test "Stop and backup a job" do + MnesiaAssistant.subscribe({:table, Queue, :detailed}) + queued = [%{entries: [fullname: "test1", role: "admin"]}] + {:ok, _data} = assert Queue.new(%{worker: WorkerThree, queued: queued}) + {:ok, _data1} = assert Queue.stop(worker: WorkerThree) + assert_receive %{status: "terminate"} + + assert_receive { + :mnesia_table_event, + {:delete, Queue, {MishkaInstaller.ProcessingPipelines.Queue.Queue, _}, [], _} + } + end + + test "Full stop and full backup a job" do + Queue.drop() + MnesiaAssistant.subscribe({:table, Queue, :detailed}) + queued = [%{entries: [fullname: "test1", role: "admin"]}] + {:ok, _data} = assert Queue.new(%{worker: WorkerThree, queued: queued}) + {:ok, _data1} = assert Queue.full_stop(worker: WorkerThree) + assert_receive %{status: "terminate"} + + assert_receive { + :mnesia_table_event, + {:delete, Queue, {MishkaInstaller.ProcessingPipelines.Queue.Queue, _}, [], _} + } + end + test "Halt a put queue request and run their Process" do MnesiaAssistant.subscribe({:table, Queue, :detailed}) @@ -305,38 +332,6 @@ defmodule MishkaInstallerTest.ProcessingPipelines.Queue.QueueTest do assert_receive %{status: "halt", worker: WorkerTwo}, 2000 end - # TODO: Terminate testing, sometimes work sometimes breaks the test - # test "Stop and backup a job" do - # MnesiaAssistant.subscribe({:table, Queue, :detailed}) - # queued = [%{entries: [fullname: "test1", role: "admin"]}] - # {:ok, data} = assert Queue.new(%{worker: WorkerThree, queued: queued}) - # [{_pid, nil}] = assert Job.find_worker_pid(data.worker) - # {:ok, data} = assert Queue.stop(worker: WorkerThree) - # assert_receive %{status: "terminate"} - # Job.find_worker_pid(data.worker) - - # assert_receive { - # :mnesia_table_event, - # {:delete, Queue, {MishkaInstaller.ProcessingPipelines.Queue.Queue, _}, [], _} - # } - # end - - # test "Full stop and full backup a job" do - # Queue.drop() - # MnesiaAssistant.subscribe({:table, Queue, :detailed}) - # queued = [%{entries: [fullname: "test1", role: "admin"]}] - # {:ok, data} = assert Queue.new(%{worker: WorkerThree, queued: queued}) - # [{_pid, nil}] = assert Job.find_worker_pid(data.worker) - # {:ok, data} = assert Queue.full_stop(worker: WorkerThree) - # assert_receive %{status: "terminate"} - # Job.find_worker_pid(data.worker) - - # assert_receive { - # :mnesia_table_event, - # {:delete, Queue, {MishkaInstaller.ProcessingPipelines.Queue.Queue, _}, [], _} - # } - # end - #################################################################################### ########################## (▰˘◡˘▰) Helper (▰˘◡˘▰) ############################ ####################################################################################