@Test public void shouldNotRemapContainerPortIfItIsNotEqualToExposedOne() { Map<String, String> containerConfig = new HashMap<String, String>(); containerConfig.put("port", "8090"); when(containerDef.getContainerProperties()).thenReturn(containerConfig); fire(new BeforeSetup(deployableContainer)); verify(containerDef, times(0)).overrideProperty("port", "8090"); verify(containerDef, times(0)).overrideProperty("port", "8089"); }
event.getDeployableContainer()); if (container == null) { return;
@Test public void shouldSubstituteDockerServerIpContainerAddressToBootToDockerIp() { Map<String, String> containerConfig = new HashMap<String, String>(); containerConfig.put("myHost", CubeDockerConfiguration.DOCKER_SERVER_IP); when(containerDef.getContainerProperties()).thenReturn(containerConfig); when(cube.getMetadata(HasPortBindings.class)).thenReturn(hasPortBindings); bind(ApplicationScoped.class, OperatingSystemFamily.class, OperatingSystemFamily.MAC); fire(new BeforeSetup(deployableContainer)); verify(containerDef).overrideProperty("myHost", "192.168.0.1"); }
event.getDeployableContainer()); if (container == null) { return;
@Test public void shouldRemapContainerPortIfItIsEqualToExposedOne() { Map<String, String> containerConfig = new HashMap<String, String>(); when(containerDef.getContainerProperties()).thenReturn(containerConfig); fire(new BeforeSetup(deployableContainer)); verify(containerDef).overrideProperty("port", "8090"); }
public void applyDockerServerIpChange(@Observes BeforeSetup event, CubeRegistry cubeRegistry, ContainerRegistry containerRegistry) throws InstantiationException, IllegalAccessException, MalformedURLException { Container container = ContainerUtil.getContainerByDeployableContainer(containerRegistry, event.getDeployableContainer()); if (container == null) { return; } Cube<?> cube = cubeRegistry.getCube(org.arquillian.cube.impl.util.ContainerUtil.getCubeIDForContainer(container)); if (cube == null) { return; // No Cube found matching Container name, not managed by Cube } HasPortBindings portBindings = cube.getMetadata(HasPortBindings.class); if (portBindings == null) { return; } ContainerDef containerConfiguration = container.getContainerConfiguration(); boolean foundAttribute = resolveConfigurationPropertiesWithDockerServerIp(containerConfiguration, portBindings.getContainerIP()); //if user doesn't configured in arquillian.xml the host then we can override the default value. if (!foundAttribute) { Class<?> configurationClass = container.getDeployableContainer().getConfigurationClass(); List<PropertyDescriptor> configurationClassHostOrAddressFields = filterConfigurationClassPropertiesByHostOrAddressAttribute(configurationClass); for (PropertyDescriptor propertyDescriptor : configurationClassHostOrAddressFields) { //we get default address value and we replace to boot2docker ip containerConfiguration.overrideProperty(propertyDescriptor.getName(), portBindings.getContainerIP()); } } }
@Test public void shouldNotRemapContainerAddressToBootToDocker() { Map<String, String> containerConfig = new HashMap<String, String>(); containerConfig.put("myHost", "10.0.10.1"); when(containerDef.getContainerProperties()).thenReturn(containerConfig); when(cube.getMetadata(HasPortBindings.class)).thenReturn(hasPortBindings); bind(ApplicationScoped.class, OperatingSystemFamily.class, OperatingSystemFamily.MAC); fire(new BeforeSetup(deployableContainer)); verify(containerDef, times(0)).overrideProperty("myHost", "192.168.0.1"); } }
public void applyDockerServerIpChange(@Observes BeforeSetup event, CubeRegistry cubeRegistry, ContainerRegistry containerRegistry) throws InstantiationException, IllegalAccessException, MalformedURLException { Container container = ContainerUtil.getContainerByDeployableContainer(containerRegistry, event.getDeployableContainer()); if (container == null) { return; } Cube<?> cube = cubeRegistry.getCube(org.arquillian.cube.impl.util.ContainerUtil.getCubeIDForContainer(container)); if (cube == null) { return; // No Cube found matching Container name, not managed by Cube } HasPortBindings portBindings = cube.getMetadata(HasPortBindings.class); if (portBindings == null) { return; } ContainerDef containerConfiguration = container.getContainerConfiguration(); boolean foundAttribute = resolveConfigurationPropertiesWithDockerServerIp(containerConfiguration, portBindings.getContainerIP()); //if user doesn't configured in arquillian.xml the host then we can override the default value. if (!foundAttribute) { Class<?> configurationClass = container.getDeployableContainer().getConfigurationClass(); List<PropertyDescriptor> configurationClassHostOrAddressFields = filterConfigurationClassPropertiesByHostOrAddressAttribute(configurationClass); for (PropertyDescriptor propertyDescriptor : configurationClassHostOrAddressFields) { //we get default address value and we replace to boot2docker ip containerConfiguration.overrideProperty(propertyDescriptor.getName(), portBindings.getContainerIP()); } } }
@Test public void shouldRemapContainerAddressToBootToDocker() { Map<String, String> containerConfig = new HashMap<String, String>(); when(containerDef.getContainerProperties()).thenReturn(containerConfig); when(cube.getMetadata(HasPortBindings.class)).thenReturn(hasPortBindings); bind(ApplicationScoped.class, OperatingSystemFamily.class, OperatingSystemFamily.MAC); fire(new BeforeSetup(deployableContainer)); verify(containerDef).overrideProperty("myHost", "192.168.0.1"); }
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public void setup() throws Exception { event.fire(new BeforeSetup(deployableContainer)); try { /* * TODO: should the Container producer some how be automatically registered ? * Or should we just 'know' who is the first one to create the context */ containerProducer.set(this); ((DeployableContainer) deployableContainer).setup(createDeployableConfiguration()); setState(Container.State.SETUP); } catch (Exception e) { setState(State.SETUP_FAILED); failureCause = e; throw e; } event.fire(new AfterSetup(deployableContainer)); }
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public void setup() throws Exception { event.fire(new BeforeSetup(deployableContainer)); try { /* * TODO: should the Container producer some how be automatically registered ? * Or should we just 'know' who is the first one to create the context */ containerProducer.set(this); ((DeployableContainer) deployableContainer).setup(createDeployableConfiguration()); setState(Container.State.SETUP); } catch (Exception e) { setState(State.SETUP_FAILED); failureCause = e; throw e; } event.fire(new AfterSetup(deployableContainer)); }