Soy nuevo en la herramienta de prueba de claridad. Quería saber si se puede usar la claridad para verificar si las etiquetas se agregan a los recursos de AWS o no.
Escribí la prueba de claridad para etiquetas como las siguientes:
Scenario: EC2 should have tag "application" Given Terraform And a "aws_instance" of type "resource" And "our component is <tag-key>" When attribute "tags" exists Then attribute "tags" matches regex "tags.*<tag-key>*" Examples: | tag-key | | Name | | application |Pero obtuve el siguiente error:
Feature: EC2 should have encrypted EBS volume attached Scenario: EC2 should have tag "application" # main.feature:3 Given Terraform # terraform.go:92 -> *Match And a "aws_instance" of type "resource" # terraform.go:279 -> *Match And "our component is <tag-key>" # clarity_test.go:49 -> noopComment Then attribute "tags" exists # terraform.go:304 -> *Match Then attribute "tags" matches regex "<tag-key>" Examples: | tag-key | | Name | | application | 2 scenarios (2 undefined) 10 steps (8 passed, 2 undefined) 1.849441ms You can implement step definitions for undefined steps with these snippets: func attributeMatchesRegex(arg1, arg2 string) error { return godog.ErrPending } func FeatureContext(s *godog.Suite) { s.Step(`^attribute "([^"]*)" matches regex "([^"]*)"$`, attributeMatchesRegex) }Cualquier sugerencia aquí sería útil.
Saludos,
chica tecnologica
Lamentablemente, la documentación sobre claridad es bastante mínima y no menciona nada sobre cómo escribir un comparador para entradas en un atributo de tipo mapa. Tampoco hay ejemplos en el propio conjunto de pruebas de claridad para este tipo de comparador.
No pude encontrar una respuesta concreta a esto, pero esto podría funcionar (ajustando su comparador para que coincida con la existencia de una etiqueta por su nombre):
Then attribute "tags.<tag-key>" exists