Пример #1
0
    def testPassphrasesForQueryPrefix(self):
        volumes = search._PassphrasesForQuery(models.BitLockerVolume,
                                              'owner',
                                              'stub',
                                              prefix_search=True)

        self.assertEqual(2, len(volumes))
Пример #2
0
    def testProvisioningPassphrasesForQueryCreatedBy(self):
        models.ProvisioningVolume.created.auto_now = False

        today = datetime.datetime.today()

        for i in range(2 * search.MAX_PASSPHRASES_PER_QUERY):
            models.ProvisioningVolume(
                owner='stub',
                serial='stub',
                volume_uuid=str(uuid.uuid4()),
                created_by=users.User('*****@*****.**'),
                hdd_serial='stub',
                passphrase=str(uuid.uuid4()),
                platform_uuid='stub',
                created=today - datetime.timedelta(days=i),
            ).put()
        volumes = search._PassphrasesForQuery(models.ProvisioningVolume,
                                              'created_by:[email protected]',
                                              False)

        self.assertEqual(search.MAX_PASSPHRASES_PER_QUERY, len(volumes))
        for i in range(search.MAX_PASSPHRASES_PER_QUERY):
            self.assertEqual(users.User('*****@*****.**'),
                             volumes[i].created_by)
            self.assertEqual(today - datetime.timedelta(days=i),
                             volumes[i].created)

        models.ProvisioningVolume.created.auto_now = True
Пример #3
0
    def testPassphrasesForQueryHostname(self):
        hostname = 'foohost'

        volumes = search._PassphrasesForQuery(models.BitLockerVolume,
                                              'hostname', hostname)

        self.assertEqual(1, len(volumes))
        self.assertEqual(models.BitLockerVolume.NormalizeHostname(hostname),
                         volumes[0].hostname)
Пример #4
0
    def testPassphrasesFoQueryCreatedBy(self):
        created_by = 'foouser'
        email = '%s@%s' % (created_by, os.environ['AUTH_DOMAIN'])

        volumes = search._PassphrasesForQuery(models.BitLockerVolume,
                                              'created_by', created_by)

        self.assertEqual(1, len(volumes))
        self.assertEqual(email, volumes[0].created_by.email())
Пример #5
0
  def testPassphrasesForQueryHostname(self):
    hostname = 'foohost'

    volumes = search._PassphrasesForQuery(
        models.BitLockerVolume, 'hostname', hostname)

    self.assertEqual(1, len(volumes))
    self.assertEqual(models.BitLockerVolume.NormalizeHostname(hostname),
                     volumes[0].hostname)
Пример #6
0
  def testPassphrasesFoQueryCreatedBy(self):
    created_by = 'foouser'
    email = '%s@%s' % (created_by, os.environ['AUTH_DOMAIN'])

    volumes = search._PassphrasesForQuery(
        models.BitLockerVolume, 'created_by', created_by)

    self.assertEqual(1, len(volumes))
    self.assertEqual(email, volumes[0].created_by.email())
Пример #7
0
  def testPassphrasesForQueryOwner(self):
    # Searching by owner with domain (e.g., example.com) in query should
    # return the volume if the owner in datastore doesn't have domain. I.e.,
    # searching for "*****@*****.**" should still find volumes with
    # owner="lololol".
    models.BitLockerVolume(
        owners=['lololol'],
        created_by=search.users.User('*****@*****.**'),
        dn='CN;',
        recovery_key=str(uuid.uuid4()),
        parent_guid=str(uuid.uuid4()).upper(),
        hostname=models.BitLockerVolume.NormalizeHostname('lololol'),
        volume_uuid=str(uuid.uuid4()).upper(),
        recovery_guid='guid1',
    ).put()
    volumes = search._PassphrasesForQuery(
        models.BitLockerVolume, 'owner', '*****@*****.**')
    self.assertEqual(1, len(volumes))
    self.assertEqual(
        models.BitLockerVolume.NormalizeHostname('lololol'),
        volumes[0].hostname)

    # Searching by owner without domain (e.g., example.com) in query should
    # still return the volume if the owner in datastore does have domain. I.e.,
    # searching for "stub1337" should still find volumes with
    # owner="*****@*****.**".
    models.BitLockerVolume(
        owners=['*****@*****.**'],
        created_by=search.users.User('*****@*****.**'),
        dn='CN;',
        recovery_key=str(uuid.uuid4()),
        parent_guid=str(uuid.uuid4()).upper(),
        recovery_guid='guid123',
        hostname=models.BitLockerVolume.NormalizeHostname('stub1337'),
        volume_uuid=str(uuid.uuid4()).upper()).put()
    volumes = search._PassphrasesForQuery(
        models.BitLockerVolume, 'owner', 'stub1337')
    self.assertEqual(1, len(volumes))
    self.assertEqual(
        models.BitLockerVolume.NormalizeHostname('stub1337'),
        volumes[0].hostname)
Пример #8
0
    def testPassphrasesForQueryOwner(self):
        # Searching by owner with domain (e.g., example.com) in query should
        # return the volume if the owner in datastore doesn't have domain. I.e.,
        # searching for "*****@*****.**" should still find volumes with
        # owner="lololol".
        models.BitLockerVolume(
            owner='lololol',
            created_by=search.users.User('*****@*****.**'),
            dn='CN;',
            recovery_key=str(uuid.uuid4()),
            parent_guid=str(uuid.uuid4()).upper(),
            hostname=models.BitLockerVolume.NormalizeHostname('lololol'),
            volume_uuid=str(uuid.uuid4()).upper(),
            recovery_guid='guid1',
        ).put()
        volumes = search._PassphrasesForQuery(models.BitLockerVolume, 'owner',
                                              '*****@*****.**')
        self.assertEqual(1, len(volumes))
        self.assertEqual(models.BitLockerVolume.NormalizeHostname('lololol'),
                         volumes[0].hostname)

        # Searching by owner without domain (e.g., example.com) in query should
        # still return the volume if the owner in datastore does have domain. I.e.,
        # searching for "stub1337" should still find volumes with
        # owner="*****@*****.**".
        models.BitLockerVolume(
            owner='*****@*****.**',
            created_by=search.users.User('*****@*****.**'),
            dn='CN;',
            recovery_key=str(uuid.uuid4()),
            parent_guid=str(uuid.uuid4()).upper(),
            recovery_guid='guid123',
            hostname=models.BitLockerVolume.NormalizeHostname('stub1337'),
            volume_uuid=str(uuid.uuid4()).upper()).put()
        volumes = search._PassphrasesForQuery(models.BitLockerVolume, 'owner',
                                              'stub1337')
        self.assertEqual(1, len(volumes))
        self.assertEqual(models.BitLockerVolume.NormalizeHostname('stub1337'),
                         volumes[0].hostname)
Пример #9
0
  def testPassphrasesForQueryPrefix(self):
    volumes = search._PassphrasesForQuery(
        models.BitLockerVolume, 'owner', 'stub', prefix_search=True)

    self.assertEqual(2, len(volumes))