private static String cubeNameFromCubeAnnotatedField(Field cubeField) { final org.arquillian.cube.containerobject.Cube cubeAnnotationOnField = cubeField.getAnnotation(org.arquillian.cube.containerobject.Cube.class); final Class<?> containerObjectClassFromField = cubeField.getType(); String cubeName = null; final String cubeAnnotationOnFieldValue = cubeAnnotationOnField.value(); if (cubeAnnotationOnFieldValue != null && !Cube.DEFAULT_VALUE.equals(cubeAnnotationOnFieldValue)) { // We have found a valid cube name return cubeAnnotationOnFieldValue; } // Needs to check if container object or one of his parents contains a Cube final String cubeAnnotationOnClassValue = ContainerObjectUtil.getTopCubeAttribute(containerObjectClassFromField, "value", Cube.class, Cube.DEFAULT_VALUE); if (cubeAnnotationOnClassValue != null && !Cube.DEFAULT_VALUE.equals(cubeAnnotationOnClassValue)) { //We got the cubeName in containerobject return cubeAnnotationOnClassValue; } //No override so we need to use the default logic return containerObjectClassFromField.getSimpleName(); }
foundAnnotation = true; final Annotation annotation = nextSource.getAnnotation(annotationClass); final T value = getValue(annotation, field);
ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "portBinding", Cube.class, Cube.DEFAULT_PORT_BINDING); ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "awaitPorts", Cube.class, Cube.DEFAULT_AWAIT_PORT_BINDING); ContainerObjectUtil.getAllAnnotations(containerObjectClass, Environment.class) .stream() .map(environment -> environment.key() + "=" + environment.value()) List<String> volumeBindings = ContainerObjectUtil.getAllAnnotations(containerObjectClass, Volume.class) .stream() .map(volume -> volume.hostPath() + ":" + volume.containerPath() + ":Z")
@Test public void shouldReturnAnnotationsFromRootObject() { final List<Environment> environments = (List<Environment>) ContainerObjectUtil.getAllAnnotations(SecondEnvironmentAnnotation.class, Environment.class); assertThat(environments.size(), is(1)); }
ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "portBinding", Cube.class, Cube.DEFAULT_PORT_BINDING); ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "awaitPorts", Cube.class, Cube.DEFAULT_AWAIT_PORT_BINDING); ContainerObjectUtil.getAllAnnotations(containerObjectClass, Environment.class) .stream() .map(environment -> environment.key() + "=" + environment.value()) List<String> volumeBindings = ContainerObjectUtil.getAllAnnotations(containerObjectClass, Volume.class) .stream() .map(volume -> volume.hostPath() + ":" + volume.containerPath() + ":Z")
@Test public void shouldReturnAggregationAnnotationsOfAllObjectHierarchy() { final List<Environment> environments = (List<Environment>) ContainerObjectUtil.getAllAnnotations(FirstEnvironmentAnnotation.class, Environment.class); assertThat(environments.size(), is(2)); }
private static String cubeNameFromCubeAnnotatedField(Field cubeField) { final org.arquillian.cube.containerobject.Cube cubeAnnotationOnField = cubeField.getAnnotation(org.arquillian.cube.containerobject.Cube.class); final Class<?> containerObjectClassFromField = cubeField.getType(); String cubeName = null; final String cubeAnnotationOnFieldValue = cubeAnnotationOnField.value(); if (cubeAnnotationOnFieldValue != null && !Cube.DEFAULT_VALUE.equals(cubeAnnotationOnFieldValue)) { // We have found a valid cube name return cubeAnnotationOnFieldValue; } // Needs to check if container object or one of his parents contains a Cube final String cubeAnnotationOnClassValue = ContainerObjectUtil.getTopCubeAttribute(containerObjectClassFromField, "value", Cube.class, Cube.DEFAULT_VALUE); if (cubeAnnotationOnClassValue != null && !Cube.DEFAULT_VALUE.equals(cubeAnnotationOnClassValue)) { //We got the cubeName in containerobject return cubeAnnotationOnClassValue; } //No override so we need to use the default logic return containerObjectClassFromField.getSimpleName(); }
foundAnnotation = true; final Annotation annotation = nextSource.getAnnotation(annotationClass); final T value = getValue(annotation, field);
private void findContainerName() { // container name if (providedConfiguration != null) { final String providedContainerName = providedConfiguration.getContainerName(); if (providedContainerName != null && !providedContainerName.isEmpty()) { containerName = providedConfiguration.getContainerName(); } } if (containerName == null) { final String cubeValue = ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "value", Cube.class, Cube.DEFAULT_VALUE); if (cubeValue != null && !Cube.DEFAULT_VALUE.equals(cubeValue)) { containerName = cubeValue; } } if (containerName == null) { containerName = containerObjectClass.getSimpleName(); } generatedConfigutation.setContainerName(containerName); }
private void findContainerName() { // container name if (providedConfiguration != null) { final String providedContainerName = providedConfiguration.getContainerName(); if (providedContainerName != null && !providedContainerName.isEmpty()) { containerName = providedConfiguration.getContainerName(); } } if (containerName == null) { final String cubeValue = ContainerObjectUtil.getTopCubeAttribute(containerObjectClass, "value", Cube.class, Cube.DEFAULT_VALUE); if (cubeValue != null && !Cube.DEFAULT_VALUE.equals(cubeValue)) { containerName = cubeValue; } } if (containerName == null) { containerName = containerObjectClass.getSimpleName(); } generatedConfigutation.setContainerName(containerName); }
@Test public void shouldReturnNullIfNoClassAnnotated() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(EmptyClassAnnotation.class, "value", Cube.class, ""); assertThat(value, is(nullValue())); }
@Test public void shouldReturnTopValue() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(FirstClassAnnotated.class, "value", Cube.class, ""); assertThat(value, is("firstValue")); }
@Test public void shouldReturnArrays() throws NoSuchMethodException { final String[] ports = ContainerObjectUtil. getTopCubeAttribute(FirstClassWithArray.class, "portBinding", Cube.class, new String[] {}); assertThat(ports[0], is("2222->22/tcp")); }
@Test public void shouldReturnParentValueIfClassNotAnnotated() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(ParentWithAnnotation.class, "value", Cube.class, ""); assertThat(value, is("secondValue")); }
@Test public void shouldReturnDefaultValueInCaseOfDefaults() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(DefaultAnnotation.class, "value", Cube.class, ""); assertThat(value, is("")); }
@Test public void shouldReturnParentValueIfCurrentIsDefault() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(DefaultAnnotationWithExtension.class, "value", Cube.class, ""); assertThat(value, is("secondValue")); }
@Test public void shouldReturnFirstValue() throws NoSuchMethodException { final String value = ContainerObjectUtil.getTopCubeAttribute(SecondClassAnnotated.class, "value", Cube.class, ""); assertThat(value, is("secondValue")); }