1
0
Эх сурвалжийг харах

Make sure a dry-run does not save Agent's memory

Akinori MUSHA 10 жил өмнө
parent
commit
316f0bfec6

+ 13 - 7
spec/concerns/dry_runnable_spec.rb

@@ -8,10 +8,10 @@ describe DryRunnable do
 
     def check
       log "Logging"
-      create_event payload: { test: "foo" }
+      create_event payload: { 'test' => 'foo' }
       error "Recording error"
-      create_event payload: { test: "bar" }
-      self.memory = { last_status: "ok" }
+      create_event payload: { 'test' => 'bar' }
+      self.memory = { 'last_status' => 'ok' }
       save!
     end
   end
@@ -24,18 +24,23 @@ describe DryRunnable do
     }
   end
 
+  def counts
+    [users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count]
+  end
+
   it "traps logging, event emission and memory updating" do
     results = nil
 
     expect {
       results = @agent.dry_run!
+      @agent.reload
     }.not_to change {
-      [users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count]
+      [@agent.memory, counts]
     }
 
     expect(results[:log]).to match(/\AI, .+ INFO -- : Logging\nE, .+ ERROR -- : Recording error\n/)
-    expect(results[:events]).to eq([{ test: 'foo' }, { test: 'bar' }])
-    expect(results[:memory]).to eq({ "last_status" => "ok" })
+    expect(results[:events]).to eq([{ 'test' => 'foo' }, { 'test' => 'bar' }])
+    expect(results[:memory]).to eq({ 'last_status' => 'ok' })
   end
 
   it "does not perform dry-run if Agent does not support dry-run" do
@@ -45,8 +50,9 @@ describe DryRunnable do
 
     expect {
       results = @agent.dry_run!
+      @agent.reload
     }.not_to change {
-      [users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count]
+      [@agent.memory, counts]
     }
 
     expect(results[:log]).to match(/\AE, .+ ERROR -- : Exception during dry-run. SandboxedAgent does not support dry-run: /)