def test_pass_ignore_case_keyword(self):
        """["create", "bar"], ["CREATE", "bar"], ignores keyword case, passes. """

        rule1 = ["create", "foo"]
        rule2 = ["CREATE", "foo"]
        self.assertListEqual(verify_create_rule(rule1, self.artifact_queue),
                             [])
        self.assertListEqual(verify_create_rule(rule2, self.artifact_queue),
                             [])
    def test_pass_create_star(self):
        """["CREATE", "*"], matches * in non-empty queue (created), passes. """

        rule = ["CREATE", "*"]
        self.assertListEqual(verify_create_rule(rule, self.artifact_queue), [])
    def test_pass_create_file(self):
        """["CREATE", "foo"], matches foo (created), passes. """

        rule = ["CREATE", "foo"]
        self.assertListEqual(verify_create_rule(rule, self.artifact_queue), [])
    def test_fail_create_star(self):
        """["CREATE", "*"], does not match * (nothing created), fails. """

        rule = ["CREATE", "*"]
        with self.assertRaises(RuleVerficationFailed):
            verify_create_rule(rule, self.artifact_queue_empty)
    def test_fail_create_file(self):
        """["CREATE", "bar"], does not mach bar (not created), fails. """

        rule = ["CREATE", "bar"]
        with self.assertRaises(RuleVerficationFailed):
            verify_create_rule(rule, self.artifact_queue)
    def test_remove_foostar_from_artifact_queue(self):
        """["CREATE", "foo*"], matches foo* (created), passes. """

        rule = ["CREATE", "foo*"]
        self.assertListEqual(
            verify_create_rule(rule, self.artifact_queue_foostar), ["bar"])