Example #1
0
    def testRegexForStringifiedValueMatchMatchesLabelsInList(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="ein", owner="GRR"))
        labels_list.AddLabel(
            rdfvalue.AFF4ObjectLabel(name="zwei", owner="test"))
        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="drei",
                                                      owner="GRR"))
        labels_list.AddLabel(
            rdfvalue.AFF4ObjectLabel(name="vier", owner="test"))

        self.assertTrue(
            re.match(
                rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch(
                    "ein"), str(labels_list)))
        self.assertTrue(
            re.match(
                rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch(
                    "zwei"), str(labels_list)))
        self.assertTrue(
            re.match(
                rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch(
                    "drei"), str(labels_list)))
        self.assertTrue(
            re.match(
                rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch(
                    "vier"), str(labels_list)))
Example #2
0
    def testStringifiedRepresentationIsSorted(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo", owner="GRR"))
        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="bar",
                                                      owner="test"))

        self.assertEqual(utils.SmartStr(labels_list), "bar,foo")
Example #3
0
    def testStringifiedValueIsLabelsNamesWithoutOwners(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="bar", owner="GRR"))
        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))

        self.assertEqual(utils.SmartStr(labels_list), "bar,foo")
Example #4
0
    def testAddLabelAddsLabelWithSameNameButDifferentOwner(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))
        self.assertEqual(len(labels_list.labels), 1)

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo", owner="GRR"))
        self.assertEqual(len(labels_list.labels), 2)
Example #5
0
    def testStringifiedValueDoesNotHaveDuplicates(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo", owner="GRR"))
        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="bar", owner="GRR"))
        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))

        self.assertEqual(utils.SmartStr(labels_list), "bar,foo")
Example #6
0
    def testAddLabelDoesNotAddLabelWithSameNameAndOwner(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))
        self.assertEqual(len(labels_list.labels), 1)

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))
        self.assertEqual(len(labels_list.labels), 1)
Example #7
0
  def GenerateSample(self, number=0):
    label1 = rdfvalue.AFF4ObjectLabel(
        name="foo_%d" % number, owner="test",
        timestamp=rdfvalue.RDFDatetime().FromSecondsFromEpoch(42))

    label2 = rdfvalue.AFF4ObjectLabel(
        name="bar_%d" % number, owner="test",
        timestamp=rdfvalue.RDFDatetime().FromSecondsFromEpoch(42))

    return rdfvalue.AFF4ObjectLabelsList(labels=[label1, label2])
Example #8
0
    def testGetSortedLabelSet(self):
        labels_list = rdfvalue.AFF4ObjectLabelsList()

        labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="foo",
                                                      owner="test"))
        labels_list.AddLabel(
            rdfvalue.AFF4ObjectLabel(name="foo2", owner="test2"))
        labels_list.AddLabel(
            rdfvalue.AFF4ObjectLabel(name="foo3", owner="test2"))

        self.assertItemsEqual(labels_list.GetLabelNames(),
                              ["foo", "foo2", "foo3"])
        self.assertItemsEqual(labels_list.GetLabelNames(owner="test2"),
                              ["foo2", "foo3"])
        self.assertEqual(labels_list.GetLabelNames(owner="test4"), [])
Example #9
0
  def testRegexForStringifiedValueDoesNotMatchLabelsNotInList(self):
    labels_list = rdfvalue.AFF4ObjectLabelsList()

    labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="ein",
                                                  owner="GRR"))
    labels_list.AddLabel(rdfvalue.AFF4ObjectLabel(name="zwei",
                                                  owner="test"))
    self.assertFalse(re.match(
        rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch("e"),
        str(labels_list)))
    self.assertFalse(re.match(
        rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch("in"),
        str(labels_list)))
    self.assertFalse(re.match(
        rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch("a.zwer"),
        str(labels_list)))
    self.assertFalse(re.match(
        rdfvalue.AFF4ObjectLabelsList.RegexForStringifiedValueMatch("ein."),
        str(labels_list)))
Example #10
0
 def GetClientLabels(self, client_id):
     fd = aff4.FACTORY.Open(client_id,
                            aff4_type="VFSGRRClient",
                            token=self.token)
     return list(
         fd.Get(fd.Schema.LABELS, rdfvalue.AFF4ObjectLabelsList()).labels)