MgmtVmCfgEao { public void update(Map<String, String> newConfig) { for (Map.Entry<String, String> cfgEntry : newConfig.entrySet()) { MgmtVmCfgItemEntity cfgItemEntity = mgmtVmCfgDao.findById(cfgEntry.getKey()); if (cfgItemEntity != null) { cfgItemEntity.setValue(cfgEntry.getValue()); mgmtVmCfgDao.update(cfgItemEntity); } else { cfgItemEntity = new MgmtVmCfgItemEntity(); cfgItemEntity.setName(cfgEntry.getKey()); cfgItemEntity.setValue(cfgEntry.getValue()); mgmtVmCfgDao.insert(cfgItemEntity); } } }  Map<String, String> findAll(); void update(Map<String, String> newConfig);  }
@Test(groups = { "TestMgmtVmCfgEao" }) public void testUpdate() { mgmtVmCfgDao = new MockUp<IBaseDAO<MgmtVmCfgItemEntity>>() { @Mock public MgmtVmCfgItemEntity findById(Serializable id) { MgmtVmCfgItemEntity mgmtVmCfgItemEntity = new MgmtVmCfgItemEntity(); mgmtVmCfgItemEntity.setName(ngmtVmCfgItemName); mgmtVmCfgItemEntity.setValue(ngmtVmCfgItemValue); return mgmtVmCfgItemEntity; } @Mock(invocations = 1) public void update(MgmtVmCfgItemEntity mgmtVmCfgItemEntity) { assertEquals(mgmtVmCfgItemEntity.getValue(), ngmtVmCfgItemNewValue); } @Mock(invocations = 0) public void insert(MgmtVmCfgItemEntity mgmtVmCfgItemEntity) {} }.getMockInstance(); TestUtils.setPrivateField(mgmtVmCfgEao, "mgmtVmCfgDao", mgmtVmCfgDao); Map<String, String> map = new HashMap<>(); map.put(ngmtVmCfgItemName, ngmtVmCfgItemNewValue); mgmtVmCfgEao.update(map); }
@Test(groups = { "TestMgmtVmCfgEao" }) public void testInsert() { mgmtVmCfgDao = new MockUp<IBaseDAO<MgmtVmCfgItemEntity>>() { @Mock public MgmtVmCfgItemEntity findById(Serializable id) { return null; } @Mock(invocations = 0) public void update(MgmtVmCfgItemEntity mgmtVmCfgItemEntity) {} @Mock(invocations = 1) public void insert(MgmtVmCfgItemEntity mgmtVmCfgItemEntity) { assertEquals(mgmtVmCfgItemEntity.getName(), ngmtVmCfgItemName); assertEquals(mgmtVmCfgItemEntity.getValue(), ngmtVmCfgItemValue); } }.getMockInstance(); TestUtils.setPrivateField(mgmtVmCfgEao, "mgmtVmCfgDao", mgmtVmCfgDao); Map<String, String> map = new HashMap<>(); map.put(ngmtVmCfgItemName, ngmtVmCfgItemValue); mgmtVmCfgEao.update(map); }