Added PersistentJsonStorageClass

PersistentJsonStorage is used to store persistent information in
json format. This class will be used by ReportManager to save
persistent report configuration.

Tested:
  - Added unit tests for new functionality
  - All other unit tests are passing

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: Ib496e6782e849d910fe37c02c355047afda5c79c
diff --git a/tests/src/mocks/json_storage.hpp b/tests/src/mocks/json_storage.hpp
new file mode 100644
index 0000000..295bc94
--- /dev/null
+++ b/tests/src/mocks/json_storage.hpp
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "interfaces/json_storage.hpp"
+
+#include <gmock/gmock.h>
+
+class StorageMock : public interfaces::JsonStorage
+{
+  public:
+    MOCK_METHOD2(store, void(const FilePath&, const nlohmann::json&));
+    MOCK_METHOD1(remove, bool(const FilePath&));
+    MOCK_CONST_METHOD1(load, std::optional<nlohmann::json>(const FilePath&));
+    MOCK_CONST_METHOD1(list, std::vector<FilePath>(const DirectoryPath&));
+};