Fix code to consume the secondary code

- The snooping daemon was coded to fill the Raw Value dbus
  property with uint64_t signature.

- The intent behind this commit is to work with the changed
  dbus backend from uint64_t to struct[uint64_t,array[byte]].

- The phosphor dbus interface change is documented in the below
  commit :
  https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/40903

Tested By:

- As the ibm systems does not a snooping port, i have done the
  unittesting & all the unit tests are PASSED with a system that
  has the above mentioned dbus interface change.

root@witherspoon:/tmp# ./post_reporter_test
[==========] Running 5 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 5 tests from PostReporterTest
[ RUN      ] PostReporterTest.EmitsObjectsOnExpectedDbusPath
[       OK ] PostReporterTest.EmitsObjectsOnExpectedDbusPath (17 ms)
[ RUN      ] PostReporterTest.AddsObjectWithExpectedName
[       OK ] PostReporterTest.AddsObjectWithExpectedName (5 ms)
[ RUN      ] PostReporterTest.ValueReadsDefaultToZero
[       OK ] PostReporterTest.ValueReadsDefaultToZero (1 ms)
[ RUN      ] PostReporterTest.SetValueToPositiveValueWorks
[       OK ] PostReporterTest.SetValueToPositiveValueWorks (2 ms)
[ RUN      ] PostReporterTest.SetValueMultipleTimesWorks
[       OK ] PostReporterTest.SetValueMultipleTimesWorks (2 ms)
[----------] 5 tests from PostReporterTest (34 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 1 test suite ran. (40 ms total)
[  PASSED  ] 5 tests.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Id0a79fcddc827d34f9d2a61ab14d8c9c4be522b5
diff --git a/test/post_reporter_test.cpp b/test/post_reporter_test.cpp
index 0dbbcfe..5213593 100644
--- a/test/post_reporter_test.cpp
+++ b/test/post_reporter_test.cpp
@@ -55,29 +55,51 @@
 TEST_F(PostReporterTest, ValueReadsDefaultToZero)
 {
     PostReporter testReporter(bus, SNOOP_OBJECTPATH, true);
-    EXPECT_EQ(0, testReporter.value());
+    EXPECT_EQ(0, std::get<primary_post_code_t>(testReporter.value()));
 }
 
 TEST_F(PostReporterTest, SetValueToPositiveValueWorks)
 {
     PostReporter testReporter(bus, SNOOP_OBJECTPATH, true);
-    testReporter.value(65537);
-    EXPECT_EQ(65537, testReporter.value());
+    secondary_post_code_t secondaryCode = {123, 124, 125};
+    testReporter.value(std::make_tuple(65537, secondaryCode));
+    EXPECT_EQ(65537, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
 }
 
 TEST_F(PostReporterTest, SetValueMultipleTimesWorks)
 {
     PostReporter testReporter(bus, SNOOP_OBJECTPATH, true);
-    testReporter.value(123);
-    EXPECT_EQ(123, testReporter.value());
-    testReporter.value(456);
-    EXPECT_EQ(456, testReporter.value());
-    testReporter.value(0);
-    EXPECT_EQ(0, testReporter.value());
-    testReporter.value(456);
-    EXPECT_EQ(456, testReporter.value());
-    testReporter.value(456);
-    EXPECT_EQ(456, testReporter.value());
+    secondary_post_code_t secondaryCode = {10, 40, 0, 245, 56};
+    testReporter.value(std::make_tuple(123, secondaryCode));
+    EXPECT_EQ(123, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
+
+    secondaryCode = {0, 0, 0, 0, 0};
+    testReporter.value(std::make_tuple(45, secondaryCode));
+    EXPECT_EQ(45, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
+
+    secondaryCode = {23, 200, 0, 45, 2};
+    testReporter.value(std::make_tuple(0, secondaryCode));
+    EXPECT_EQ(0, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
+
+    secondaryCode = {10, 40, 0, 35, 78};
+    testReporter.value(std::make_tuple(46, secondaryCode));
+    EXPECT_EQ(46, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
+
+    secondaryCode = {10, 40, 0, 35, 78};
+    testReporter.value(std::make_tuple(46, secondaryCode));
+    EXPECT_EQ(46, std::get<primary_post_code_t>(testReporter.value()));
+    EXPECT_EQ(secondaryCode,
+              std::get<secondary_post_code_t>(testReporter.value()));
 }
 
 } // namespace