예제 #1
0
  def testUpdateClient(self):
    client_mock = action_mocks.UpdateAgentClientMock()
    fake_installer = b"FakeGRRDebInstaller" * 20
    upload_path = signed_binary_utils.GetAFF4ExecutablesRoot().Add(
        config.CONFIG["Client.platform"]).Add("test.deb")
    maintenance_utils.UploadSignedConfigBlob(
        fake_installer, aff4_path=upload_path, limit=100, token=self.token)

    acl_test_lib.CreateAdminUser(self.token.username)

    flow_test_lib.TestFlowHelper(
        administrative.UpdateClient.__name__,
        client_mock,
        client_id=self.SetupClient(0, system=""),
        blob_path=upload_path,
        token=self.token)
    self.assertEqual(client_mock.GetDownloadedFileContents(), fake_installer)
예제 #2
0
    def testUpdateClientSingleBlob(self):
        client_mock = action_mocks.UpdateAgentClientMock()
        fake_installer = b"FakeGRRDebInstaller" * 20
        upload_path = signed_binary_utils.GetAFF4ExecutablesRoot().Add(
            config.CONFIG["Client.platform"]).Add("test.deb")
        maintenance_utils.UploadSignedConfigBlob(fake_installer,
                                                 aff4_path=upload_path,
                                                 limit=1000)

        blob_list, _ = signed_binary_utils.FetchBlobsForSignedBinaryByURN(
            upload_path)
        self.assertLen(list(blob_list), 1)

        acl_test_lib.CreateAdminUser(self.token.username)

        flow_test_lib.TestFlowHelper(
            compatibility.GetName(administrative.UpdateClient),
            client_mock,
            client_id=self.SetupClient(0, system=""),
            binary_path=os.path.join(config.CONFIG["Client.platform"],
                                     "test.deb"),
            token=self.token)
        self.assertEqual(client_mock.GetDownloadedFileContents(),
                         fake_installer)