public boolean equalToBond(Bond bond) { return Objects.equals(getId(), bond.getId()) && Objects.equals(getName(), bond.getName()) && Objects.equals(getBondOptions(), bond.getBondOptions()) && bondsHasSameSlaves(bond); }
@Test public void testBreakingExistingBond() { CreateOrUpdateBond createOrUpdateBond = CreateOrUpdateBond.fromBond(existingBond); dataFromHostSetupNetworksModel.getBonds().add(createOrUpdateBond); when(bondNetworkInterfaceModelA.getItems()).thenReturn(Collections.emptyList()); when(bondNetworkInterfaceModelA.getCreateOrUpdateBond()).thenReturn(createOrUpdateBond); NetworkOperation.BREAK_BOND.getTarget().executeNetworkCommand( bondNetworkInterfaceModelA, null, dataFromHostSetupNetworksModel); assertThat(dataFromHostSetupNetworksModel.getNetworkAttachments().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedNetworkAttachments().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getBonds().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedBonds().size(), is(1)); Guid removedBondId = dataFromHostSetupNetworksModel.getRemovedBonds().iterator().next(); assertThat("id mismatch", removedBondId, is(existingBond.getId())); //$NON-NLS-1$ }
public static CreateOrUpdateBond fromBond(Bond bond) { CreateOrUpdateBond createOrUpdateBond = new CreateOrUpdateBond(); createOrUpdateBond.setId(bond.getId()); createOrUpdateBond.setName(bond.getName()); createOrUpdateBond.setSlaves(new HashSet<>(bond.getSlaves())); createOrUpdateBond.setBondOptions(bond.getBondOptions()); return createOrUpdateBond; }
@Test public void testBreakingExistingBondWithNetworkAttached() { addBondToParamsAndModel(existingBond, bondNetworkInterfaceModelA, Collections.singletonList(logicalNetworkModelOfNetworkA)); NetworkAttachment networkAttachment = createAttachmentOnNetworkModelAndUpdateParams(bondNetworkInterfaceModelA, logicalNetworkModelOfNetworkA); NetworkOperation.BREAK_BOND.getTarget().executeNetworkCommand( bondNetworkInterfaceModelA, null, dataFromHostSetupNetworksModel); assertThat(dataFromHostSetupNetworksModel.getNetworkAttachments().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedNetworkAttachments().size(), is(1)); Guid removedNetworkAttachmentId = dataFromHostSetupNetworksModel.getRemovedNetworkAttachments().iterator().next(); assertThat("id mismatch", removedNetworkAttachmentId, is(networkAttachment.getId())); //$NON-NLS-1$ assertThat(dataFromHostSetupNetworksModel.getBonds().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedBonds().size(), is(1)); Guid removedBondId = dataFromHostSetupNetworksModel.getRemovedBonds().iterator().next(); assertThat("id mismatch", removedBondId, is(existingBond.getId())); //$NON-NLS-1$ }
@Test public void testRemoveSlaveFromBondWithTwoSlaves() { addBondToParamsAndModel(existingBond, bondNetworkInterfaceModelA, Collections.emptyList()); when(bondNetworkInterfaceModelA.getSlaves()) .thenReturn(Arrays.asList(networkInterfaceModelOfNicA, networkInterfaceModelOfNicB)); when(bondNetworkInterfaceModelA.getItems()).thenReturn(Collections.singletonList(logicalNetworkModelOfNetworkA)); NetworkAttachment networkAttachment = createAttachmentOnNetworkModelAndUpdateParams(bondNetworkInterfaceModelA, logicalNetworkModelOfNetworkA); when(networkInterfaceModelOfNicA.getBond()).thenReturn(bondNetworkInterfaceModelA); NetworkOperation.REMOVE_FROM_BOND.getTarget().executeNetworkCommand( networkInterfaceModelOfNicA, null, dataFromHostSetupNetworksModel); // related network attachment will be updated, not removed and created new one. assertThat(dataFromHostSetupNetworksModel.getNetworkAttachments().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedNetworkAttachments().size(), is(1)); Guid removedNetworkAttachmentId = dataFromHostSetupNetworksModel.getRemovedNetworkAttachments().iterator().next(); assertThat("id mismatch", removedNetworkAttachmentId, is(networkAttachment.getId())); //$NON-NLS-1$ assertThat(dataFromHostSetupNetworksModel.getBonds().size(), is(0)); assertThat(dataFromHostSetupNetworksModel.getRemovedBonds().size(), is(1)); Guid removedBondId = dataFromHostSetupNetworksModel.getRemovedBonds().iterator().next(); assertThat("id mismatch", removedBondId, is(existingBond.getId())); //$NON-NLS-1$ }
assertThat("id mismatch", dataFromHostSetupNetworksModel.getRemovedBonds().contains(bondB.getId()), is(true)); //$NON-NLS-1$
@Test public void testBondMapping() { HostNic model = new HostNic(); model.setId(Guid.newGuid().toString()); model.setName(RandomUtils.instance().nextString(10)); model.setBonding(new Bonding()); model.getBonding().setSlaves(new HostNics()); HostNic slaveA = new HostNic(); slaveA.setName(RandomUtils.instance().nextString(10)); model.getBonding().getSlaves().getHostNics().add(slaveA); Bond entity = HostNicMapper.map(model, null); assertNotNull(entity); assertEquals(model.getId(), entity.getId().toString()); assertEquals(model.getName(), entity.getName()); assertEquals(model.getBonding().getSlaves().getHostNics().size(), entity.getSlaves().size()); for (HostNic slave : model.getBonding().getSlaves().getHostNics()) { assertTrue(entity.getSlaves().contains(slave.getName())); } }