unit-test: Fix bug when endpoint empty
Could debate the proper handling of this situations but this commit at
least makes it consistent for the forward and reverse path
Change-Id: If0a8a16473c150f4d4361f9ca9aad9f06c391157
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/src/associations.cpp b/src/associations.cpp
index 6982b52..b4c0fae 100644
--- a/src/associations.cpp
+++ b/src/associations.cpp
@@ -156,18 +156,17 @@
std::string endpoint;
std::tie(forward, reverse, endpoint) = association;
+ if (endpoint.empty())
+ {
+ std::cerr << "Found invalid association on path " << path << "\n";
+ continue;
+ }
if (forward.size())
{
objects[path + "/" + forward].emplace(endpoint);
}
if (reverse.size())
{
- if (endpoint.empty())
- {
- std::cerr << "Found invalid association on path " << path
- << "\n";
- continue;
- }
objects[endpoint + "/" + reverse].emplace(path);
}
}
diff --git a/src/test/associations.cpp b/src/test/associations.cpp
index 20d7ba7..1b6a348 100644
--- a/src/test/associations.cpp
+++ b/src/test/associations.cpp
@@ -176,14 +176,10 @@
associationChanged(*server, associations, DEFAULT_SOURCE_PATH,
DEFAULT_DBUS_SVC, assocOwners, assocInterfaces);
- // TODO - This test case found a bug where the endpoint validity
- // is not checked on the FWD path and is used by default, resulting
- // in there being a "" endpoint value. Will fix this in next commit
- // to keep the refactor of the code separate from the fix
- // (i.e. both of these should be 0 since we have an invalid endpoint)
+ // Both of these should be 0 since we have an invalid endpoint
auto intfEndpoints =
std::get<endpointsPos>(assocInterfaces[DEFAULT_FWD_PATH]);
- EXPECT_EQ(intfEndpoints.size(), 1);
+ EXPECT_EQ(intfEndpoints.size(), 0);
intfEndpoints = std::get<endpointsPos>(assocInterfaces[DEFAULT_REV_PATH]);
EXPECT_EQ(intfEndpoints.size(), 0);
}