}
def 'Update and Publish Events on State Change from NO_EXISTING state to ADVISED'() {
- given: 'Cm Handle represented as YangModelCmHandle in READY state'
- compositeState = new CompositeState()
- yangModelCmHandle = new YangModelCmHandle(id: cmHandleId, dmiProperties: [], publicProperties: [], compositeState: compositeState)
+ given: 'Cm Handle represented as YangModelCmHandle'
+ yangModelCmHandle = new YangModelCmHandle(id: cmHandleId, dmiProperties: [], publicProperties: [])
when: 'update state is invoked'
objectUnderTest.updateCmHandleState(yangModelCmHandle, ADVISED)
then: 'state is saved using inventory persistence'
then: 'state is saved using inventory persistence and old lock reason details are retained'
1 * mockInventoryPersistence.saveCmHandleState(cmHandleId, _) >> {
args -> {
- assert (args[1] as CompositeState).lockReason.details == 'some lock details'
- }
+ assert (args[1] as CompositeState).lockReason.details == 'some lock details'
+ }
}
and: 'event service is called to publish event'
1 * mockLcmEventsService.publishLcmEvent(cmHandleId, _)
}
- def 'Update and Publish Events on State Change to READY with #scenario'() {
+ def 'Update and Publish Events on State Change to READY'() {
given: 'Cm Handle represented as YangModelCmHandle'
compositeState = new CompositeState(cmHandleState: ADVISED)
yangModelCmHandle = new YangModelCmHandle(id: cmHandleId, dmiProperties: [], publicProperties: [], compositeState: compositeState)
and: 'global sync flag is set'
- objectUnderTest.isGlobalDataSyncCacheEnabled = dataSyncCacheEnabled
+ compositeState.setDataSyncEnabled(false)
when: 'update cmhandle state is invoked'
objectUnderTest.updateCmHandleState(yangModelCmHandle, READY)
then: 'state is saved using inventory persistence with expected dataSyncState'
1 * mockInventoryPersistence.saveCmHandleState(cmHandleId, _) >> {
args-> {
def result = (args[1] as CompositeState)
- assert result.dataSyncEnabled == dataSyncCacheEnabled
- assert result.dataStores.operationalDataStore.dataStoreSyncState == expectedDataStoreSyncState
+ assert result.dataSyncEnabled == false
+ assert result.dataStores.operationalDataStore.dataStoreSyncState == DataStoreSyncState.NONE_REQUESTED
}
}
and: 'event service is called to publish event'
1 * mockLcmEventsService.publishLcmEvent(cmHandleId, _)
- where:
- scenario | dataSyncCacheEnabled || expectedDataStoreSyncState
- 'data sync cache enabled' | true || DataStoreSyncState.UNSYNCHRONIZED
- 'data sync cache is not enabled' | false || DataStoreSyncState.NONE_REQUESTED
}
def 'Update cmHandle state to "DELETING"' (){
and: 'the method to publish Lcm event is called once'
1 * mockLcmEventsService.publishLcmEvent(cmHandleId, _)
}
-}
+}
\ No newline at end of file