add unit test for PersistentConsistencyServiceDelegateImpl (#5491)
* add unit test for PersistentConsistencyServiceDelegateImpl * add unit test for PersistentConsistencyServiceDelegateImpl * add unit test for PersistentConsistencyServiceDelegateImpl
This commit is contained in:
parent
72e5da6baf
commit
6c20d35af8
@ -0,0 +1,145 @@
|
||||
/*
|
||||
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.naming.consistency.persistent;
|
||||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.core.distributed.ProtocolManager;
|
||||
import com.alibaba.nacos.naming.consistency.RecordListener;
|
||||
import com.alibaba.nacos.naming.consistency.persistent.impl.BasePersistentServiceProcessor;
|
||||
import com.alibaba.nacos.naming.consistency.persistent.raft.RaftConsistencyServiceImpl;
|
||||
import com.alibaba.nacos.naming.pojo.Record;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class PersistentConsistencyServiceDelegateImplTest {
|
||||
|
||||
@Mock
|
||||
private ClusterVersionJudgement clusterVersionJudgement;
|
||||
|
||||
@Mock
|
||||
private RaftConsistencyServiceImpl raftConsistencyService;
|
||||
|
||||
@Mock
|
||||
private ProtocolManager protocolManager;
|
||||
|
||||
@Mock
|
||||
private Record record;
|
||||
|
||||
@Mock
|
||||
private RecordListener recordListener;
|
||||
|
||||
@Mock
|
||||
private BasePersistentServiceProcessor basePersistentServiceProcessor;
|
||||
|
||||
private PersistentConsistencyServiceDelegateImpl oldPersistentConsistencyServiceDelegate;
|
||||
|
||||
private PersistentConsistencyServiceDelegateImpl newPersistentConsistencyServiceDelegate;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
oldPersistentConsistencyServiceDelegate = new PersistentConsistencyServiceDelegateImpl(clusterVersionJudgement,
|
||||
raftConsistencyService, protocolManager);
|
||||
|
||||
newPersistentConsistencyServiceDelegate = new PersistentConsistencyServiceDelegateImpl(clusterVersionJudgement,
|
||||
raftConsistencyService, protocolManager);
|
||||
Class<PersistentConsistencyServiceDelegateImpl> persistentConsistencyServiceDelegateClass = PersistentConsistencyServiceDelegateImpl.class;
|
||||
Field switchNewPersistentService = persistentConsistencyServiceDelegateClass
|
||||
.getDeclaredField("switchNewPersistentService");
|
||||
switchNewPersistentService.setAccessible(true);
|
||||
switchNewPersistentService.set(newPersistentConsistencyServiceDelegate, true);
|
||||
|
||||
Field newPersistentConsistencyService = persistentConsistencyServiceDelegateClass
|
||||
.getDeclaredField("newPersistentConsistencyService");
|
||||
newPersistentConsistencyService.setAccessible(true);
|
||||
newPersistentConsistencyService.set(newPersistentConsistencyServiceDelegate, basePersistentServiceProcessor);
|
||||
}
|
||||
|
||||
@Test()
|
||||
public void testPut() throws Exception {
|
||||
String key = "record_key";
|
||||
oldPersistentConsistencyServiceDelegate.put(key, record);
|
||||
Mockito.verify(raftConsistencyService).put(key, record);
|
||||
|
||||
newPersistentConsistencyServiceDelegate.put(key, record);
|
||||
Mockito.verify(basePersistentServiceProcessor).put(key, record);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemove() throws NacosException {
|
||||
String key = "record_key";
|
||||
oldPersistentConsistencyServiceDelegate.remove(key);
|
||||
Mockito.verify(raftConsistencyService).remove(key);
|
||||
|
||||
newPersistentConsistencyServiceDelegate.remove(key);
|
||||
Mockito.verify(basePersistentServiceProcessor).remove(key);
|
||||
}
|
||||
|
||||
@Test()
|
||||
public void testGet() throws NacosException {
|
||||
String key = "record_key";
|
||||
oldPersistentConsistencyServiceDelegate.get(key);
|
||||
Mockito.verify(raftConsistencyService).get(key);
|
||||
|
||||
newPersistentConsistencyServiceDelegate.get(key);
|
||||
Mockito.verify(basePersistentServiceProcessor).get(key);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListen() throws NacosException {
|
||||
String key = "listen_key";
|
||||
oldPersistentConsistencyServiceDelegate.listen(key, recordListener);
|
||||
Mockito.verify(raftConsistencyService).listen(key, recordListener);
|
||||
|
||||
newPersistentConsistencyServiceDelegate.listen(key, recordListener);
|
||||
Mockito.verify(basePersistentServiceProcessor).listen(key, recordListener);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnListen() throws NacosException {
|
||||
String key = "listen_key";
|
||||
oldPersistentConsistencyServiceDelegate.unListen(key, recordListener);
|
||||
Mockito.verify(raftConsistencyService).unListen(key, recordListener);
|
||||
|
||||
newPersistentConsistencyServiceDelegate.unListen(key, recordListener);
|
||||
Mockito.verify(basePersistentServiceProcessor).unListen(key, recordListener);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAvailable() {
|
||||
oldPersistentConsistencyServiceDelegate.isAvailable();
|
||||
Mockito.verify(raftConsistencyService).isAvailable();
|
||||
|
||||
newPersistentConsistencyServiceDelegate.isAvailable();
|
||||
Mockito.verify(basePersistentServiceProcessor).isAvailable();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetErrorMsg() {
|
||||
oldPersistentConsistencyServiceDelegate.getErrorMsg();
|
||||
Mockito.verify(raftConsistencyService).getErrorMsg();
|
||||
|
||||
newPersistentConsistencyServiceDelegate.getErrorMsg();
|
||||
Mockito.verify(basePersistentServiceProcessor).getErrorMsg();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user