Пример #1
0
    def InitDatastore(self):
        if self.disabled:
            raise unittest.SkipTest(
                "Skipping since Mysql db is not reachable.")

        self.token = access_control.ACLToken(username="******",
                                             reason="Running tests")
        # Use separate tables for benchmarks / tests so they can be run in parallel.
        with test_lib.ConfigOverrider({
                "Mysql.database_name":
                "grr_test_%s" % self.__class__.__name__,
                "Mysql.max_connect_wait":
                2
        }):
            try:
                data_store.DB = mysql_advanced_data_store.MySQLAdvancedDataStore(
                )
                data_store.DB.Initialize()
                data_store.DB.flusher_thread.Stop()
                data_store.DB.security_manager = test_lib.MockSecurityManager()
                data_store.DB.RecreateTables()
            except Exception as e:
                logging.debug("Error while connecting to MySQL db: %s.", e)
                MysqlAdvancedTestMixin.disabled = True
                raise unittest.SkipTest(
                    "Skipping since Mysql db is not reachable.")
Пример #2
0
    def InitDatastore(self):
        self.token = access_control.ACLToken(username="******",
                                             reason="Running tests")
        config_lib.CONFIG.Set("Datastore.location",
                              "%s/tdb_test/" % self.temp_dir)

        self.DestroyDatastore()

        data_store.DB = tdb_data_store.TDBDataStore()
        data_store.DB.security_manager = test_lib.MockSecurityManager()
Пример #3
0
    def InitDatastore(self):
        """Initializes the data store."""
        self.token = access_control.ACLToken(username="******",
                                             reason="Running tests")
        config_lib.CONFIG.Set("Mongo.db_name",
                              "grr_test_%s" % self.__class__.__name__)
        data_store.DB = mongo_data_store.MongoDataStore()
        data_store.DB.security_manager = test_lib.MockSecurityManager()

        self.DestroyDatastore()
Пример #4
0
    def _InstallACLChecks(self, forbidden_access):
        if self.old_security_managers:
            raise RuntimeError(
                "Seems like _InstallACLChecks was called twice in one "
                "test")

        # HTTP_DB doesn't get recreated every time this test runs. So make sure
        # that we can restore previous security manager later.
        self.old_security_managers = [
            HTTP_DB[0].security_manager, HTTP_DB[1].security_manager
        ]

        # We have to install tuned MockSecurityManager not on data_store.DB, which
        # is a HttpDataStore, but on HTTP_DB which is an SqliteDataStore that
        # eventuall gets queries from HttpDataStore.
        HTTP_DB[0].security_manager = test_lib.MockSecurityManager(
            forbidden_datastore_access=forbidden_access)
        HTTP_DB[1].security_manager = test_lib.MockSecurityManager(
            forbidden_datastore_access=forbidden_access)
Пример #5
0
    def Run(self):
        """Run the hook setting up fixture and security mananger."""
        # Install the mock security manager so we can trap errors in interactive
        # mode.
        data_store.DB.security_manager = test_lib.MockSecurityManager()
        self.token = access_control.ACLToken(username="******",
                                             reason="Make fixtures.")
        self.token = self.token.SetUID()

        self.BuildFixture()
  def setUp(self):
    super(MongoDataStoreV1Test, self).setUp()

    self.token = access_control.ACLToken(username="******",
                                         reason="Running tests")
    data_store.DB = mongo_data_store_old.MongoDataStoreV1()
    data_store.DB.security_manager = test_lib.MockSecurityManager()

    # Drop the collection.
    data_store.DB.db_handle.drop_collection(data_store.DB.collection)
Пример #7
0
  def InitTable(self):
    self.token = access_control.ACLToken(username="******",
                                         reason="Running tests")
    # Use separate tables for benchmarks / tests so they can be run in parallel.
    config_lib.CONFIG.Set("Mysql.database_name", "grr_test_%s" %
                          self.__class__.__name__)
    config_lib.CONFIG.Set("Mysql.table_name", "aff4_test")

    data_store.DB = mysql_data_store.MySQLDataStore()
    data_store.DB.security_manager = test_lib.MockSecurityManager()
    data_store.DB.RecreateDataBase()
Пример #8
0
    def InitDatastore(self):
        self.token = access_control.ACLToken(username="******",
                                             reason="Running tests")
        self.root_path = utils.SmartStr("%s/sqlite_test/" % self.temp_dir)

        config_lib.CONFIG.Set("Datastore.location", self.root_path)

        self.DestroyDatastore()

        data_store.DB = sqlite_data_store.SqliteDataStore()
        data_store.DB.security_manager = test_lib.MockSecurityManager()
Пример #9
0
  def Run(self):
    """Run the hook setting up fixture and security mananger."""
    # Install the mock security manager so we can trap errors in interactive
    # mode.
    data_store.DB.security_manager = test_lib.MockSecurityManager()
    self.token = access_control.ACLToken(username="******",
                                         reason="Make fixtures.")
    self.token = self.token.SetUID()

    if data_store.DB.__class__.__name__ == "FakeDataStore":
      self.RestoreFixtureFromCache()
    else:
      self.BuildFixture()
Пример #10
0
  def _MakeFixtures(self):
    # Install the mock security manager so we can trap errors in interactive
    # mode.
    data_store.DB.security_manager = test_lib.MockSecurityManager()
    token = access_control.ACLToken(username="******", reason="Make fixtures.")
    token = token.SetUID()

    for i in range(10):
      client_id = rdf_client.ClientURN("C.%016X" % i)
      with aff4.FACTORY.Create(
          client_id, aff4_grr.VFSGRRClient, mode="rw",
          token=token) as client_obj:
        index = client_index.CreateClientIndex(token=token)
        index.AddClient(client_obj)
Пример #11
0
    def InitTable(self):
        """Initializes the data store."""
        self.token = access_control.ACLToken(username="******",
                                             reason="Running tests")
        config_lib.CONFIG.Set("Mongo.db_name",
                              "grr_test_%s" % self.__class__.__name__)
        data_store.DB = mongo_data_store.MongoDataStore()
        data_store.DB.security_manager = test_lib.MockSecurityManager()

        # Drop the collection.
        data_store.DB.db_handle.drop_collection(
            data_store.DB.latest_collection)
        data_store.DB.db_handle.drop_collection(
            data_store.DB.versioned_collection)
Пример #12
0
  def InitDatastore(self):
    self.token = access_control.ACLToken(username="******",
                                         reason="Running tests")
    # Use separate tables for benchmarks / tests so they can be run in parallel.
    config_lib.CONFIG.Set("Mysql.database_name", "grr_test_%s" %
                          self.__class__.__name__)

    try:
      data_store.DB = mysql_advanced_data_store.MySQLAdvancedDataStore()
      data_store.DB.security_manager = test_lib.MockSecurityManager()
      data_store.DB.RecreateTables()
    except Exception as e:
      logging.debug("Error while connecting to MySQL db: %s.", e)
      raise unittest.SkipTest("Skipping since Mysql db is not reachable.")
Пример #13
0
 def InitDatastore(self):
   self.token = access_control.ACLToken(username="******",
                                        reason="Running tests")
   # Use separate tables for benchmarks / tests so they can be run in parallel.
   with test_lib.ConfigOverrider({
       "Mysql.database_name": "grr_test_%s" % self.__class__.__name__,
       "Mysql.table_name": "aff4_test"}):
     try:
       data_store.DB = mysql_data_store.MySQLDataStore()
       data_store.DB.flusher_thread.Stop()
       data_store.DB.security_manager = test_lib.MockSecurityManager()
       data_store.DB.RecreateDataBase()
     except Exception as e:
       logging.debug("Error while connecting to MySQL db: %s.", e)
       raise unittest.SkipTest("Skipping since Mysql db is not reachable.")