From e5a4622cc141556040042f873687eeac5005c501 Mon Sep 17 00:00:00 2001 From: Leonhard Markert Date: Wed, 20 Jan 2016 23:12:40 +0000 Subject: [PATCH] Ignore additional fields in data["fields"] --- test/logger_logstash_backend_test.exs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/logger_logstash_backend_test.exs b/test/logger_logstash_backend_test.exs index edf7498..bf6062c 100644 --- a/test/logger_logstash_backend_test.exs +++ b/test/logger_logstash_backend_test.exs @@ -42,18 +42,18 @@ defmodule LoggerLogstashBackendTest do Logger.info "hello world", [key1: "field1"] json = get_log {:ok, data} = JSX.decode json - me = inspect self assert data["type"] === "some_app" assert data["message"] === "hello world" - assert data["fields"] === %{ + expected = %{ "function" => "test can log/1", "level" => "info", "module" => "Elixir.LoggerLogstashBackendTest", - "pid" => me, + "pid" => (inspect self), "some_metadata" => "go here", "line" => 42, "key1" => "field1" } + assert contains?(data["fields"], expected) {:ok, ts} = DateFormat.parse data["@timestamp"], "%FT%T%z", :strftime ts = Date.to_secs ts @@ -73,4 +73,10 @@ defmodule LoggerLogstashBackendTest do after 500 -> :nothing_received end end + + defp contains?(map1, map2) do + Enum.all?(Map.to_list(map2), fn {key, value} -> + Map.fetch!(map1, key) == value + end) + end end