diff options
Diffstat (limited to 'vid-automation/src')
3 files changed, 81 insertions, 0 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntil.java b/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntil.java new file mode 100644 index 000000000..5aad0e03a --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntil.java @@ -0,0 +1,21 @@ +package vid.automation.test.infra; + +import static java.lang.annotation.ElementType.METHOD; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/* +Skip test until date (AKA TimeBomb) + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({METHOD}) +public @interface SkipTestUntil { + + /** + * Date in the form of "2007-12-20" + */ + String value(); + +} diff --git a/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntilTestngTransformer.java b/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntilTestngTransformer.java new file mode 100644 index 000000000..2d2ce7cde --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/infra/SkipTestUntilTestngTransformer.java @@ -0,0 +1,57 @@ +package vid.automation.test.infra; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.time.LocalDate; +import org.testng.IAnnotationTransformer; +import org.testng.annotations.ITestAnnotation; + +/* +TestNg listener that skip tests that are annotated with SkipTestUntil annotation +Pay attention that this listener shall be configured in the testng.xml (or command line) +*/ +public class SkipTestUntilTestngTransformer implements IAnnotationTransformer { + + @Override + public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { + + if (testMethod!=null) { + try { + + if (!annotation.getEnabled()) { + return; + } + + if (!testMethod.isAnnotationPresent(SkipTestUntil.class)) { + return; + } + + String dateAsStr = testMethod.getAnnotation(SkipTestUntil.class).value(); + if (shallDisableTest(dateAsStr)) { + disableTest(annotation, testMethod.getDeclaringClass().getName(), dateAsStr); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private boolean shallDisableTest(String dateAsStr) { + try { + return LocalDate.now().isBefore(LocalDate.parse(dateAsStr)); + } + catch (RuntimeException exception) { + System.out.println("Failure during processing of SkipTestUntil annotation value is " + dateAsStr); + exception.printStackTrace(); + return false; + } + } + + private void disableTest(ITestAnnotation annotation, String name, String dateAsStr) { + System.out.println("Ignore "+ name+" till "+dateAsStr); + annotation.setEnabled(false); + } + +} + diff --git a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java index d72337f3d..20367ea70 100644 --- a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java +++ b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java @@ -9,6 +9,7 @@ import org.onap.vid.api.BaseApiTest; import org.springframework.web.client.RestTemplate; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; +import vid.automation.test.infra.SkipTestUntil; import vid.automation.test.services.SimulatorApi; import java.net.URI; @@ -37,6 +38,7 @@ public class LoggerFormatTest extends BaseApiTest { SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(), SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET); } + @SkipTestUntil("2019-08-22") @Test public void validateAuditLogsFormat() { validateLogsFormat("audit"); @@ -47,6 +49,7 @@ public class LoggerFormatTest extends BaseApiTest { validateLogsFormat("error"); } + @SkipTestUntil("2019-08-22") @Test public void validateMetricsLogsFormat() { validateLogsFormat("metrics", "metric"); |