summaryrefslogtreecommitdiffstats
path: root/src/test/util/association_objects.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/util/association_objects.hpp')
-rw-r--r--src/test/util/association_objects.hpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/test/util/association_objects.hpp b/src/test/util/association_objects.hpp
new file mode 100644
index 0000000..081f891
--- /dev/null
+++ b/src/test/util/association_objects.hpp
@@ -0,0 +1,47 @@
+#include "src/associations.hpp"
+
+const std::string DEFAULT_SOURCE_PATH = "/logging/entry/1";
+const std::string DEFAULT_DBUS_SVC = "xyz.openbmc_project.New.Interface";
+const std::string DEFAULT_FWD_PATH = {DEFAULT_SOURCE_PATH + "/" + "inventory"};
+const std::string DEFAULT_ENDPOINT =
+ "/xyz/openbmc_project/inventory/system/chassis";
+const std::string DEFAULT_REV_PATH = {DEFAULT_ENDPOINT + "/" + "error"};
+const std::string EXTRA_ENDPOINT = "/xyz/openbmc_project/differnt/endpoint";
+
+// Create a default AssociationOwnersType object
+AssociationOwnersType createDefaultOwnerAssociation()
+{
+ AssociationPaths assocPathMap = {{DEFAULT_FWD_PATH, {DEFAULT_ENDPOINT}},
+ {DEFAULT_REV_PATH, {DEFAULT_SOURCE_PATH}}};
+ boost::container::flat_map<std::string, AssociationPaths> serviceMap = {
+ {DEFAULT_DBUS_SVC, assocPathMap}};
+ AssociationOwnersType ownerAssoc = {{DEFAULT_SOURCE_PATH, serviceMap}};
+ return ownerAssoc;
+}
+
+// Create a default AssociationInterfaces object
+AssociationInterfaces
+ createDefaultInterfaceAssociation(sdbusplus::asio::object_server* server)
+{
+ AssociationInterfaces interfaceAssoc;
+
+ auto& iface = interfaceAssoc[DEFAULT_FWD_PATH];
+ auto& endpoints = std::get<endpointsPos>(iface);
+ endpoints.push_back(DEFAULT_ENDPOINT);
+ server->add_interface(DEFAULT_FWD_PATH, DEFAULT_DBUS_SVC);
+
+ auto& iface2 = interfaceAssoc[DEFAULT_REV_PATH];
+ auto& endpoints2 = std::get<endpointsPos>(iface2);
+ endpoints2.push_back(DEFAULT_SOURCE_PATH);
+ server->add_interface(DEFAULT_REV_PATH, DEFAULT_DBUS_SVC);
+
+ return interfaceAssoc;
+}
+
+// Just add an extra endpoint to the first association
+void addEndpointToInterfaceAssociation(AssociationInterfaces& interfaceAssoc)
+{
+ auto iface = interfaceAssoc[DEFAULT_FWD_PATH];
+ auto endpoints = std::get<endpointsPos>(iface);
+ endpoints.push_back(EXTRA_ENDPOINT);
+}
OpenPOWER on IntegriCloud