Esempio n. 1
0
 def test_name_uniqueness(self):
     """
     Ensure that a builder cannot have multiple steps with the same name or position
     """
     b = Builder(project=self.project, name="my builder")
     b.save()
     s = CompileStep(
         builder = b,
         name = "compile the code",
         command = "make",
     )
     s.save()
     self.assertNotEqual(s.id, None)
     
     # another step, same name
     s2 = CompileStep(
         builder = b,
         name = "compile the code",
         command = "make",
     )
     self.assertRaises(IntegrityError, s2.save)
     self.assertEqual(s2.id, None)
     # try a different name
     s2.name = "another name"
     s2.save()
     self.assertNotEqual(s2.id, None)
     
     # try forcing same position
     s2.position = s.position
     self.assertRaises(IntegrityError, s2.save)
  
     # should be ok to have dups with a different builder
     b2 = Builder(project=self.project, name="my builder2")
     b2.save()
     s3 = CompileStep(
         builder = b2,
         name = "compile the code",
         command = "make",
     )
     s3.save()
     self.assertNotEqual(s3.id, None)
Esempio n. 2
0
    def test_position_integrity(self):
        """
        Ensure that position cannot be duplicated
        """
        b = Builder(project=self.project, name="my builder")
        b.save()
        s = CompileStep(
            builder = b,
            name = "compile the code",
            command = "make",
        )
        s.save()
        self.assertNotEqual(s.id, None)
        self.assertEqual(s.position, 0)

        s2 = CompileStep(
            builder = b,
            name = "compile the code 2",
            command = "make",
        )
        s2.save()
        s2.position = 0
        self.assertRaises(IntegrityError, s2.save)