use of com.amalto.workbench.webservices.WSLong in project tmdm-studio-se by Talend.
the class ConsistencyServiceTest method testUpdateDigestValue.
@Test
public void testUpdateDigestValue() {
PowerMockito.mockStatic(RepositoryResourceUtil.class);
IRepositoryViewObject mockViewObj = PowerMockito.mock(IRepositoryViewObject.class);
MDMServerObjectItem mockItem = PowerMockito.mock(MDMServerObjectItem.class);
Property mockProperty = PowerMockito.mock(Property.class);
PowerMockito.when(mockProperty.getItem()).thenReturn(mockItem);
PowerMockito.when(mockItem.getProperty()).thenReturn(mockProperty);
PowerMockito.when(mockViewObj.getProperty()).thenReturn(mockProperty);
PowerMockito.when(RepositoryResourceUtil.assertItem(mockItem)).thenReturn(mockItem);
PowerMockito.when(mockViewObj.getRepositoryObjectType()).thenReturn(IServerObjectRepositoryType.TYPE_DATAMODEL);
try {
TMDMService mockService = PowerMockito.mock(TMDMService.class);
MDMServerDef mockServerDef = PowerMockito.mock(MDMServerDef.class);
PowerMockito.mockStatic(RepositoryWebServiceAdapter.class);
PowerMockito.when(RepositoryWebServiceAdapter.getMDMService(mockServerDef)).thenReturn(mockService);
WSLong timeValue = new WSLong(11);
PowerMockito.when(mockService.updateDigest(any(WSDigest.class))).thenReturn(timeValue);
ConsistencyService mockCService = PowerMockito.mock(ConsistencyService.class);
// $NON-NLS-1$
PowerMockito.doNothing().when(mockCService, "updateLocalDigestValue", mockViewObj);
// $NON-NLS-1$
String label = "Product";
// $NON-NLS-1$
PowerMockito.when(mockCService, "getObjectName", mockViewObj).thenReturn(label);
PowerMockito.when(mockCService.getLocalDigestValue(mockItem)).thenReturn(label);
PowerMockito.when(mockCService, "updateDigestValue", any(MDMServerDef.class), any(IRepositoryViewObject.class)).thenCallRealMethod();
mockCService.updateDigestValue(mockServerDef, mockViewObj);
// check
Mockito.verify(mockCService, times(1)).updateLocalDigestValue(mockViewObj);
Mockito.verify(mockService, Mockito.times(1)).updateDigest(any(WSDigest.class));
PowerMockito.verifyStatic();
RepositoryResourceUtil.saveItem(mockItem);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
use of com.amalto.workbench.webservices.WSLong in project tmdm-studio-se by Talend.
the class ConsistencyService method updateDigestValue.
public void updateDigestValue(MDMServerDef serverDef, IRepositoryViewObject viewObj) throws XtentisException {
Item item = viewObj.getProperty().getItem();
if (item instanceof MDMServerObjectItem) {
TMDMService service = RepositoryWebServiceAdapter.getMDMService(serverDef);
updateLocalDigestValue(viewObj);
// key
String type = viewObj.getRepositoryObjectType().getKey();
String objectName = getObjectName(viewObj);
WSDigestKey key = new WSDigestKey(objectName, type);
// value
WSDigest value = new WSDigest(getLocalDigestValue(item), 0L, key);
WSLong timeValue = service.updateDigest(value);
//
if (timeValue != null) {
updateLocalTimestamp(item, timeValue.getValue());
}
if (!viewObj.getRepositoryObjectType().equals(IServerObjectRepositoryType.TYPE_MATCH_RULE_MAPINFO)) {
item = RepositoryResourceUtil.assertItem(item);
Property property = item.getProperty();
boolean eDeliver = property.eDeliver();
property.eSetDeliver(false);
RepositoryResourceUtil.saveItem(item);
property.eSetDeliver(eDeliver);
}
}
}
Aggregations