diff options
author | Utkarsh Sanghi <usanghi@google.com> | 2015-10-27 14:33:02 -0700 |
---|---|---|
committer | Utkarsh Sanghi <usanghi@google.com> | 2015-10-28 10:05:12 -0700 |
commit | bbdb1b1f93626766baf7e293c7a9e532933531c3 (patch) | |
tree | 8502598c0418eeecfe28681c854bcdeb285ea368 /client/tpm_ownership_dbus_proxy_test.cc | |
parent | e9f4df5412da4aa513b8e73ff0a7e2adb0ceedc4 (diff) | |
download | tpm_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.cc | 34 |
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 |