summaryrefslogtreecommitdiff
path: root/client/tpm_ownership_dbus_proxy_test.cc
diff options
context:
space:
mode:
authorUtkarsh Sanghi <usanghi@google.com>2015-10-27 14:33:02 -0700
committerUtkarsh Sanghi <usanghi@google.com>2015-10-28 10:05:12 -0700
commitbbdb1b1f93626766baf7e293c7a9e532933531c3 (patch)
tree8502598c0418eeecfe28681c854bcdeb285ea368 /client/tpm_ownership_dbus_proxy_test.cc
parente9f4df5412da4aa513b8e73ff0a7e2adb0ceedc4 (diff)
downloadtpm_manager-bbdb1b1f93626766baf7e293c7a9e532933531c3.tar.gz
tpm_manager: Add DBus method to remove owner dependency
Bug: 24059577 TEST=tpm_manager_client --remove_dependency=Test on DUT Change-Id: I09996187197b8b5ff717a32e751ebc07b060c15e
Diffstat (limited to 'client/tpm_ownership_dbus_proxy_test.cc')
-rw-r--r--client/tpm_ownership_dbus_proxy_test.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/client/tpm_ownership_dbus_proxy_test.cc b/client/tpm_ownership_dbus_proxy_test.cc
index c9ef319..9a632c6 100644
--- a/client/tpm_ownership_dbus_proxy_test.cc
+++ b/client/tpm_ownership_dbus_proxy_test.cc
@@ -116,4 +116,38 @@ TEST_F(TpmOwnershipDBusProxyTest, TakeOwnership) {
EXPECT_EQ(1, callback_count);
}
+TEST_F(TpmOwnershipDBusProxyTest, RemoveOwnerDependency) {
+ const std::string owner_dependency("owner");
+ auto fake_dbus_call = [&owner_dependency](
+ dbus::MethodCall* method_call,
+ const dbus::MockObjectProxy::ResponseCallback& response_callback) {
+ // Verify request protobuf.
+ dbus::MessageReader reader(method_call);
+ RemoveOwnerDependencyRequest request;
+ EXPECT_TRUE(reader.PopArrayOfBytesAsProto(&request));
+ EXPECT_TRUE(request.has_owner_dependency());
+ EXPECT_EQ(owner_dependency, request.owner_dependency());
+ // Create reply protobuf.
+ auto response = dbus::Response::CreateEmpty();
+ dbus::MessageWriter writer(response.get());
+ RemoveOwnerDependencyReply reply;
+ reply.set_status(STATUS_SUCCESS);
+ writer.AppendProtoAsArrayOfBytes(reply);
+ response_callback.Run(response.release());
+ };
+ EXPECT_CALL(*mock_object_proxy_, CallMethodWithErrorCallback(_, _, _, _))
+ .WillOnce(WithArgs<0, 2>(Invoke(fake_dbus_call)));
+
+ // Set expectations on the outputs.
+ int callback_count = 0;
+ auto callback = [&callback_count](const RemoveOwnerDependencyReply& reply) {
+ callback_count++;
+ EXPECT_EQ(STATUS_SUCCESS, reply.status());
+ };
+ RemoveOwnerDependencyRequest request;
+ request.set_owner_dependency(owner_dependency);
+ proxy_.RemoveOwnerDependency(request, base::Bind(callback));
+ EXPECT_EQ(1, callback_count);
+}
+
} // namespace tpm_manager