Exemple #1
0
    def testGenClientConfig_ignoreBuilderContext(self):
        with test_lib.PreserveConfig():
            # Define a secondary config with special values for the ClientBuilder
            # context.
            str_override = """
        Test Context:
          Client.labels: [label0, label1]
          ClientBuilder Context:
            Client.labels: [build-label0, build-label1]
      """
            parser = config_parser.YamlConfigFileParser("")
            override = parser.RawDataFromBytes(str_override.encode("utf-8"))
            config.CONFIG.MergeData(override)
            # Sanity-check that the secondary config was merged into the global
            # config.
            self.assertEqual(config.CONFIG["Client.labels"],
                             ["label0", "label1"])

            context = [
                "Test Context", "ClientBuilder Context", "Client Context"
            ]
            str_client_config = build_helpers.GetClientConfig(context)
            client_config = parser.RawDataFromBytes(
                str_client_config.encode("utf-8"))
            # Settings particular to the ClientBuilder context should not carry over
            # into the generated client config.
            self.assertEqual(client_config["Client.labels"],
                             ["label0", "label1"])
Exemple #2
0
  def setUp(self):
    """Set up communicator tests."""
    super(ClientCommsTest, self).setUp()

    # These tests change the config so we preserve state.
    self.config_stubber = test_lib.PreserveConfig()
    self.config_stubber.Start()

    self.client_private_key = config.CONFIG["Client.private_key"]

    self.server_serial_number = 0
    self.server_certificate = config.CONFIG["Frontend.certificate"]
    self.server_private_key = config.CONFIG["PrivateKeys.server_key"]
    self.client_communicator = comms.ClientCommunicator(
        private_key=self.client_private_key)

    self.client_communicator.LoadServerCertificate(
        server_certificate=self.server_certificate,
        ca_certificate=config.CONFIG["CA.certificate"])

    self.server_communicator = front_end.ServerCommunicator(
        certificate=self.server_certificate,
        private_key=self.server_private_key,
        token=self.token)

    self.last_urlmock_error = None
Exemple #3
0
 def testGenClientConfig_ignoreBuilderContext(self):
     with test_lib.PreserveConfig():
         # Define a secondary config with special values for the ClientBuilder
         # context.
         str_override = """
     Test Context:
       Client.labels: [label0, label1]
       ClientBuilder Context:
         Client.labels: [build-label0, build-label1]
   """
         override = config_lib.YamlParser(data=str_override).RawData()
         config.CONFIG.MergeData(override)
         # Sanity-check that the secondary config was merged into the global
         # config.
         self.assertEqual(config.CONFIG["Client.labels"],
                          ["label0", "label1"])
         repacker = build.ClientRepacker()
         context = [
             "Test Context", "ClientBuilder Context", "Client Context"
         ]
         str_client_config = repacker.GetClientConfig(context)
         client_config = config_lib.YamlParser(
             data=str_client_config).RawData()
         # Settings particular to the ClientBuilder context should not carry over
         # into the generated client config.
         self.assertEqual(client_config["Client.labels"],
                          ["label0", "label1"])
Exemple #4
0
  def setUp(self):
    """Set up communicator tests."""
    super(HTTPClientTests, self).setUp()

    # These tests change the config so we preserve state.
    config_stubber = test_lib.PreserveConfig()
    config_stubber.Start()
    self.addCleanup(config_stubber.Stop)

    self.server_private_key = config.CONFIG["PrivateKeys.server_key"]
    self.server_certificate = config.CONFIG["Frontend.certificate"]

    # Make a new client
    self.CreateNewClientObject()

    # And cache it in the server
    self.CreateNewServerCommunicator()

    requests_stubber = utils.Stubber(requests, "request", self.UrlMock)
    requests_stubber.Start()
    self.addCleanup(requests_stubber.Stop)

    sleep_stubber = utils.Stubber(time, "sleep", lambda x: None)
    sleep_stubber.Start()
    self.addCleanup(sleep_stubber.Stop)

    self.messages = []

    ca_enroller.enrolment_cache.Flush()

    # Response to send back to clients.
    self.server_response = dict(
        session_id="aff4:/W:session", name="Echo", response_id=2)
Exemple #5
0
    def setUp(self):
        """Set up communicator tests."""
        super(HTTPClientTests, self).setUp()

        # These tests change the config so we preserve state.
        self.config_stubber = test_lib.PreserveConfig()
        self.config_stubber.Start()

        certificate = self.ClientCertFromPrivateKey(
            config.CONFIG["Client.private_key"])
        self.server_serial_number = 0

        self.server_private_key = config.CONFIG["PrivateKeys.server_key"]
        self.server_certificate = config.CONFIG["Frontend.certificate"]

        self.client_cn = certificate.GetCN()

        # Make a new client
        self.CreateNewClientObject()

        # The housekeeper threads of the time based caches also call time.time and
        # interfere with some tests so we disable them here.
        utils.InterruptableThread.exit = True
        # The same also applies to the StatsCollector thread.
        stats.StatsCollector.exit = True

        # Make a client mock
        self.client = aff4.FACTORY.Create(self.client_cn,
                                          aff4_grr.VFSGRRClient,
                                          mode="rw",
                                          token=self.token)
        self.client.Set(self.client.Schema.CERT(certificate.AsPEM()))
        self.client.Flush()

        # Stop the client from actually processing anything
        self.out_queue_overrider = test_lib.ConfigOverrider(
            {"Client.max_out_queue": 0})
        self.out_queue_overrider.Start()

        # And cache it in the server
        self.CreateNewServerCommunicator()

        self.requests_stubber = utils.Stubber(requests, "request",
                                              self.UrlMock)
        self.requests_stubber.Start()
        self.sleep_stubber = utils.Stubber(time, "sleep", lambda x: None)
        self.sleep_stubber.Start()

        self.messages = []

        ca_enroller.enrolment_cache.Flush()

        # Response to send back to clients.
        self.server_response = dict(session_id="aff4:/W:session",
                                    name="Echo",
                                    response_id=2)
Exemple #6
0
  def setUp(self):
    """Set up communicator tests."""
    super().setUp()

    # These tests change the config so we preserve state.
    config_stubber = test_lib.PreserveConfig()
    config_stubber.Start()
    self.addCleanup(config_stubber.Stop)

    self.client_private_key = config.CONFIG["Client.private_key"]

    self.server_certificate = config.CONFIG["Frontend.certificate"]
    self.server_private_key = config.CONFIG["PrivateKeys.server_key"]
    self.client_communicator = comms.ClientCommunicator(
        private_key=self.client_private_key)

    self.client_communicator.LoadServerCertificate(
        server_certificate=self.server_certificate,
        ca_certificate=config.CONFIG["CA.certificate"])

    self.last_urlmock_error = None

    self._SetupCommunicator()
Exemple #7
0
  def setUp(self):
    """Set up communicator tests."""
    super(HTTPClientTests, self).setUp()

    # These tests change the config so we preserve state.
    self.config_stubber = test_lib.PreserveConfig()
    self.config_stubber.Start()

    self.server_serial_number = 0

    self.server_private_key = config.CONFIG["PrivateKeys.server_key"]
    self.server_certificate = config.CONFIG["Frontend.certificate"]

    # Make a new client
    self.CreateNewClientObject()

    # The housekeeper threads of the time based caches also call time.time and
    # interfere with some tests so we disable them here.
    utils.InterruptableThread.exit = True
    # The same also applies to the StatsCollector thread.
    stats.StatsCollector.exit = True

    # And cache it in the server
    self.CreateNewServerCommunicator()

    self.requests_stubber = utils.Stubber(requests, "request", self.UrlMock)
    self.requests_stubber.Start()
    self.sleep_stubber = utils.Stubber(time, "sleep", lambda x: None)
    self.sleep_stubber.Start()

    self.messages = []

    ca_enroller.enrolment_cache.Flush()

    # Response to send back to clients.
    self.server_response = dict(
        session_id="aff4:/W:session", name="Echo", response_id=2)
Exemple #8
0
 def setUp(self):
     super(TestCryptoTypeInfos, self).setUp()
     config_stubber = test_lib.PreserveConfig()
     config_stubber.Start()
     self.addCleanup(config_stubber.Stop)
Exemple #9
0
 def setUp(self):
     super(ConfigActionTest, self).setUp()
     # These tests change the config so we preserve state.
     self.config_stubber = test_lib.PreserveConfig()
     self.config_stubber.Start()
Exemple #10
0
 def setUp(self):
   super().setUp()
   # These tests change the config so we preserve state.
   config_stubber = test_lib.PreserveConfig()
   config_stubber.Start()
   self.addCleanup(config_stubber.Stop)
Exemple #11
0
 def setUp(self):
     super(HTTPDataStoreMixin, self).setUp()
     # These tests change the config so we preserve state.
     self.config_stubber = test_lib.PreserveConfig()
     self.config_stubber.Start()
Exemple #12
0
 def setUp(self):
   super().setUp()
   config_stubber = test_lib.PreserveConfig()
   config_stubber.Start()
   self.addCleanup(config_stubber.Stop)