How to use createMock method of org.easymock.internal.MocksControl class

Best Easymock code snippet using org.easymock.internal.MocksControl.createMock

Source:EasyMockModule.java Github

copy

Full Screen

...63 * Mocks can also be created explicitly64 * todo javadoc65 * <p/>66 * Switching to the replay state and verifying expectations of all mocks (including the mocks created with67 * the createMock() method can be done by calling68 * the {@link #replay()} and {@link #verify()} methods.69 *70 * @author Filip Neven71 * @author Tim Ducheyne72 */73public class EasyMockModule implements Module {74 /* Property key for configuring whether verify() is automatically called on every mock object after each test method execution */75 public static final String PROPKEY_AUTO_VERIFY_AFTER_TEST_ENABLED = "EasyMockModule.autoVerifyAfterTest.enabled";76 /* All created mocks controls */77 private List<MocksControl> mocksControls;78 /* Map holding the default configuration of the mock annotations */79 private Map<Class<? extends Annotation>, Map<String, String>> defaultAnnotationPropertyValues;80 /* Indicates whether verify() is automatically called on every mock object after each test method execution */81 private boolean autoVerifyAfterTestEnabled;82 /**83 * Initializes the module84 */85 @Override86 @SuppressWarnings("unchecked")87 public void init(Properties configuration) {88 mocksControls = new ArrayList<MocksControl>();89 defaultAnnotationPropertyValues = getAnnotationPropertyDefaults(EasyMockModule.class, configuration, RegularMock.class, Mock.class);90 autoVerifyAfterTestEnabled = PropertyUtils.getBoolean(PROPKEY_AUTO_VERIFY_AFTER_TEST_ENABLED, configuration);91 }92 /**93 * No after initialization needed for this module94 */95 @Override96 public void afterInit() {97 }98 /**99 * Creates the listener for plugging in the behavior of this module into the test runs.100 *101 * @return the listener102 */103 @Override104 public TestListener getTestListener() {105 return new EasyMockTestListener();106 }107 /**108 * Creates an EasyMock mock object of the given type.109 * <p/>110 * An instance of the mock control is stored, so that it can be set to the replay/verify state when111 * {@link #replay()} or {@link #verify()} is called.112 *113 * @param <T> the type of the mock114 * @param mockType the class type for the mock, not null115 * @param invocationOrder the order setting, not null116 * @param calls the calls setting, not null117 * @return a mock for the given class or interface, not null118 */119 public <T> T createRegularMock(Class<T> mockType, InvocationOrder invocationOrder, Calls calls) {120 // Get anotation arguments and replace default values if needed121 invocationOrder = getEnumValueReplaceDefault(RegularMock.class, "invocationOrder", invocationOrder,122 defaultAnnotationPropertyValues);123 calls = getEnumValueReplaceDefault(RegularMock.class, "calls", calls, defaultAnnotationPropertyValues);124 MocksControl mocksControl;125 if (Calls.LENIENT == calls) {126 mocksControl = new MocksControl(NICE);127 } else {128 mocksControl = new MocksControl(DEFAULT);129 }130 // Check order131 if (InvocationOrder.STRICT == invocationOrder) {132 mocksControl.checkOrder(true);133 }134 mocksControls.add(mocksControl);135 return mocksControl.createMock(mockType);136 }137 /**138 * todo javadoc139 * <p/>140 * Creates an EasyMock mock instance of the given type (class/interface). The type of mock is determined141 * as follows:142 * <p/>143 * If returns is set to LENIENT, a nice mock is created, else a default mock is created144 * If arguments is lenient a lenient control is create, else an EasyMock control is created145 * If order is set to strict, invocation order checking is enabled146 *147 * @param <T> the type of the mock148 * @param mockType the type of the mock, not null149 * @param invocationOrder the order setting, not null150 * @param calls the calls setting, not null151 * @param order todo152 * @param dates todo153 * @param defaults todo154 * @return a mockcontrol for the given class or interface, not null155 */156 public <T> T createMock(Class<T> mockType, InvocationOrder invocationOrder, Calls calls, Order order, Dates dates, Defaults defaults) {157 // Get anotation arguments and replace default values if needed158 invocationOrder = getEnumValueReplaceDefault(Mock.class, "invocationOrder", invocationOrder, defaultAnnotationPropertyValues);159 calls = getEnumValueReplaceDefault(Mock.class, "calls", calls, defaultAnnotationPropertyValues);160 order = getEnumValueReplaceDefault(Mock.class, "order", order, defaultAnnotationPropertyValues);161 dates = getEnumValueReplaceDefault(Mock.class, "dates", dates, defaultAnnotationPropertyValues);162 defaults = getEnumValueReplaceDefault(Mock.class, "defaults", defaults, defaultAnnotationPropertyValues);163 List<ReflectionComparatorMode> comparatorModes = new ArrayList<ReflectionComparatorMode>();164 if (Order.LENIENT == order) {165 comparatorModes.add(LENIENT_ORDER);166 }167 if (Dates.LENIENT == dates) {168 comparatorModes.add(LENIENT_DATES);169 }170 if (Defaults.IGNORE_DEFAULTS == defaults) {171 comparatorModes.add(IGNORE_DEFAULTS);172 }173 LenientMocksControl mocksControl;174 if (Calls.LENIENT == calls) {175 mocksControl = new LenientMocksControl(NICE, comparatorModes.toArray(new ReflectionComparatorMode[0]));176 } else {177 mocksControl = new LenientMocksControl(DEFAULT, comparatorModes.toArray(new ReflectionComparatorMode[0]));178 }179 // Check order180 if (InvocationOrder.STRICT == invocationOrder) {181 mocksControl.checkOrder(true);182 }183 mocksControls.add(mocksControl);184 return mocksControl.createMock(mockType);185 }186 /**187 * Replays all mock controls.188 */189 public void replay() {190 for (MocksControl mocksControl : mocksControls) {191 mocksControl.replay();192 }193 }194 /**195 * Resets all mock controls.196 */197 public void reset() {198 for (MocksControl mocksControl : mocksControls) {199 mocksControl.reset();200 }201 }202 /**203 * This method makes sure {@link org.easymock.internal.MocksControl#verify} method is called for every mock mock object204 * that was injected to a field annotated with {@link Mock}, or directly created by calling205 * {@link #createRegularMock(Class, InvocationOrder, Calls)} or206 * {@link #createMock(Class, InvocationOrder, Calls, Order, Dates, Defaults)}.207 * <p/>208 * If there are mocks that weren't already switched to the replay state using {@link MocksControl#replay()}} or by209 * calling {@link org.unitils.easymock.EasyMockUnitils#replay()}, this method is called first.210 */211 public void verify() {212 for (MocksControl mocksControl : mocksControls) {213 if (!(mocksControl.getState() instanceof ReplayState)) {214 mocksControl.replay();215 }216 mocksControl.verify();217 }218 }219 /**220 * Creates and sets a mock for all {@link RegularMock} annotated fields.221 * <p/>222 * The223 * todo javadoc224 * method is called for creating the mocks. Ones the mock is created, all methods annotated with {@link AfterCreateMock} will be called passing the created mock.225 *226 * @param testObject the test, not null227 */228 protected void createAndInjectRegularMocksIntoTest(Object testObject) {229 Set<Field> mockFields = getFieldsAnnotatedWith(testObject.getClass(), RegularMock.class);230 for (Field mockField : mockFields) {231 Class<?> mockType = mockField.getType();232 RegularMock regularMockAnnotation = mockField.getAnnotation(RegularMock.class);233 Object mockObject = createRegularMock(mockType, regularMockAnnotation.invocationOrder(), regularMockAnnotation.calls());234 setFieldValue(testObject, mockField, mockObject);235 callAfterCreateMockMethods(testObject, mockObject, mockField.getName(), mockType);236 }237 }238 //todo javadoc239 protected void createAndInjectMocksIntoTest(Object testObject) {240 Set<Field> mockFields = getFieldsAnnotatedWith(testObject.getClass(), Mock.class);241 for (Field mockField : mockFields) {242 Class<?> mockType = mockField.getType();243 Mock mockAnnotation = mockField.getAnnotation(Mock.class);244 Object mockObject = createMock(mockType, mockAnnotation.invocationOrder(), mockAnnotation.calls(), mockAnnotation.order(), mockAnnotation.dates(), mockAnnotation.defaults());245 setFieldValue(testObject, mockField, mockObject);246 callAfterCreateMockMethods(testObject, mockObject, mockField.getName(), mockType);247 }248 }249 /**250 * Calls all {@link AfterCreateMock} annotated methods on the test, passing the given mock.251 * These annotated methods must have following signature <code>void myMethod(Object mock, String name, Class type)</code>.252 * If this is not the case, a runtime exception is called.253 *254 * @param testObject the test, not null255 * @param mockObject the mock, not null256 * @param name the field(=mock) name, not null257 * @param type the field(=mock) type258 */...

Full Screen

Full Screen

Source:MessageBasedRPCServiceTest.java Github

copy

Full Screen

...30 private ScheduledFuture<?> scheduledFuture;31 @Before32 public void setUp() throws Exception {33 mocksControl = createControl();34 messageFuture = mocksControl.createMock(MessageFuture.class);35 messageSender = mocksControl.createMock(MessageSender.class);36 service = new MessageBasedRPCService(messageSender);37 scheduledFuture = mocksControl.createMock(ScheduledFuture.class);38 }39 @Test40 public void testInvoke() {41 Message call = Message.newBuilder()42 .setUid(String.valueOf(System.currentTimeMillis()))43 .setDate(System.currentTimeMillis())44 .setContent(ByteString.copyFrom(new byte[0]))45 .setFrom("From")46 .setTo("TO")47 .build();48 Capture<MessageFutureListener> capture = new Capture<MessageFutureListener>();49 RPCHandler handler = mocksControl.createMock(RPCHandler.class);50 expect(messageSender.send(call))51 .andReturn(messageFuture)52 .once();53 expect(messageFuture.addListener(capture(capture)))54 .andReturn(messageFuture)55 .once();56 expect(messageFuture.isSuccess())57 .andReturn(true).once();58 expect(messageFuture.isSuccess())59 .andReturn(false).atLeastOnce();60 final Exception e = new Exception();61 expect(messageFuture.getCause())62 .andReturn(e)63 .atLeastOnce();64 handler.exceptionCaught(same(call), same(e));65 expectLastCall().once();66 handler.exceptionCaught(call, e);67 expectLastCall().andThrow(new RuntimeException("Test."))68 .once();69 mocksControl.replay();70 service.invoke(call, handler);71 @SuppressWarnings("unchecked")72 Map<String, RPCInvoke> internalMap = (Map<String, RPCInvoke>) ReflectionTestUtils73 .getField(service, "rpcRegistry");74 assertTrue(capture.hasCaptured());75 assertTrue(internalMap.containsKey(call.getUid()));76 capture.getValue().operationComplete(messageFuture);77 assertTrue(internalMap.containsKey(call.getUid()));78 assertSame(internalMap.get(call.getUid()).handler, handler);79 internalMap.clear();80 capture.getValue().operationComplete(messageFuture);81 assertFalse(internalMap.containsKey(call.getUid()));82 capture.getValue().operationComplete(messageFuture);83 assertFalse(internalMap.containsKey(call.getUid()));84 }85 @Test86 public void testInvoke超时后会被清除掉() throws InterruptedException {87 Message call = Message.newBuilder()88 .setUid(String.valueOf(System.currentTimeMillis()))89 .setDate(System.currentTimeMillis())90 .setContent(ByteString.copyFrom(new byte[0]))91 .setFrom("From")92 .setTo("TO")93 .build();94 final Capture<MessageFutureListener> capture = new Capture<MessageFutureListener>();95 RPCHandler handler = mocksControl.createMock(RPCHandler.class);96 expect(messageSender.send(call))97 .andReturn(messageFuture)98 .once();99 expect(messageFuture.addListener(capture(capture)))100 .andAnswer(new IAnswer<MessageFuture>() {101 @Override102 public MessageFuture answer() throws Throwable {103 capture.getValue().operationComplete(messageFuture);104 return messageFuture;105 }106 }).once();107 expect(messageFuture.isSuccess())108 .andReturn(true).once();109 Capture<Throwable> throwableCapture = new Capture<Throwable>();110 handler.exceptionCaught(same(call), capture(throwableCapture));111 expectLastCall().once();112 mocksControl.replay();113 service.invokeTimeout = 1;114 service.invoke(call, handler);115 Thread.sleep(1020L);116 assertTrue(throwableCapture.hasCaptured());117 assertTrue(throwableCapture.getValue() instanceof TimeoutException);118 }119 @Test120 public void testOnMessage() {121 Message call = Message.newBuilder()122 .setUid(String.valueOf(System.currentTimeMillis()))123 .setDate(System.currentTimeMillis())124 .setContent(ByteString.copyFrom(new byte[0]))125 .setFrom("From")126 .setTo("TO")127 .build();128 Message response = Message.newBuilder()129 .setUid(String.valueOf(System.currentTimeMillis()))130 .setDate(System.currentTimeMillis())131 .setContent(ByteString.copyFrom(new byte[0]))132 .setFrom("From")133 .setTo("TO")134 .setReplyFor(call.getUid())135 .build();136 @SuppressWarnings("unchecked")137 Map<String, RPCInvoke> internalMap = (Map<String, RPCInvoke>) ReflectionTestUtils138 .getField(service, "rpcRegistry");139 RPCHandler handler = mocksControl.createMock(RPCHandler.class);140 internalMap.put(call.getUid(), new RPCInvoke(handler, scheduledFuture));141 expect(scheduledFuture.cancel(false))142 .andReturn(true)143 .once();144 handler.onMessage(same(response));145 expectLastCall().once();146 mocksControl.replay();147 service.onMessage(response);148 assertFalse(internalMap.containsKey(call.getUid()));149 }150 @Test151 public void testOnMessage如果Handler的onMessage方法抛出异常那么handler的exceptionCause将会被调用() {152 Message call = Message.newBuilder()153 .setUid(String.valueOf(System.currentTimeMillis()))154 .setDate(System.currentTimeMillis())155 .setContent(ByteString.copyFrom(new byte[0]))156 .setFrom("From")157 .setTo("TO")158 .build();159 Message response = Message.newBuilder()160 .setUid(String.valueOf(System.currentTimeMillis()))161 .setDate(System.currentTimeMillis())162 .setContent(ByteString.copyFrom(new byte[0]))163 .setFrom("From")164 .setTo("TO")165 .setReplyFor(call.getUid())166 .build();167 @SuppressWarnings("unchecked")168 Map<String, RPCInvoke> internalMap = (Map<String, RPCInvoke>) ReflectionTestUtils169 .getField(170 service, "rpcRegistry");171 RPCHandler handler = mocksControl.createMock(RPCHandler.class);172 internalMap.put(call.getUid(), new RPCInvoke(handler, scheduledFuture));173 handler.onMessage(same(response));174 RuntimeException e = new RuntimeException("Test For onMessage");175 expectLastCall().andThrow(e)176 .once();177 expect(scheduledFuture.cancel(false))178 .andReturn(false)179 .once();180 handler.exceptionCaught(call, e);181 expectLastCall().once();182 mocksControl.replay();183 service.onMessage(response);184 assertFalse(internalMap.containsKey(call.getUid()));185 }...

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1import java.lang.reflect.Method;2import java.lang.reflect.InvocationHandler;3import java.lang.reflect.Proxy;4import java.lang.reflect.InvocationTargetException;5import org.easymock.internal.MocksControl;6import org.easymock.internal.MocksControl.MockType;7class Test {8 public static void main(String[] args) throws Exception {9 MocksControl control = new MocksControl();10 control.setDefaultBehavior(MockType.DEFAULTS);11 Object mock = control.createMock(Runnable.class);12 System.out.println(mock);13 }14}15import java.lang.reflect.Method;16import java.lang.reflect.InvocationHandler;17import java.lang.reflect.Proxy;18import java.lang.reflect.InvocationTargetException;19import org.easymock.internal.MocksControl;20import org.easymock.internal.MocksControl.MockType;21class Test {22 public static void main(String[] args) throws Exception {23 MocksControl control = new MocksControl();24 control.setDefaultBehavior(MockType.DEFAULTS);25 Object mock = control.createMock(Runnable.class);26 System.out.println(mock);27 }28}29import java.lang.reflect.Method;30import java.lang.reflect.InvocationHandler;31import java.lang.reflect.Proxy;32import java.lang.reflect.InvocationTargetException;33import org.easymock.internal.MocksControl;34import org.easymock.internal.MocksControl.MockType;35class Test {36 public static void main(String[] args) throws Exception {37 MocksControl control = new MocksControl();38 control.setDefaultBehavior(MockType.DEFAULTS);39 Object mock = control.createMock(Runnable.class);40 System.out.println(mock);41 }42}43import java.lang.reflect.Method;44import java.lang.reflect.InvocationHandler;45import java.lang.reflect.Proxy;46import java.lang.reflect.InvocationTargetException;47import org.easymock.internal.MocksControl;48import org.easymock.internal.MocksControl.MockType;49class Test {50 public static void main(String[] args) throws Exception {51 MocksControl control = new MocksControl();52 control.setDefaultBehavior(MockType.DEFAULTS);53 Object mock = control.createMock(Runnable.class);

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1package org.easymock;2import org.easymock.internal.MocksControl;3public class MockControl {4 public static MocksControl createMock(Class toMock) {5 return new MocksControl(toMock);6 }7}8import org.easymock.MockControl;9public class Test {10 public static void main(String[] args) {11 MockControl.createMock(Object.class);12 }13}14import org.easymock.MockControl;15public class Test {16 public static void main(String[] args) {17 MockControl.createMock(Object.class);18 }19}20import org.easymock.MockControl;21public class Test {22 public static void main(String[] args) {23 MockControl.createMock(Object.class);24 }25}26import org.easymock.MockControl;27public class Test {28 public static void main(String[] args) {29 MockControl.createMock(Object.class);30 }31}32import org.easymock.MockControl;33public class Test {34 public static void main(String[] args) {35 MockControl.createMock(Object.class);36 }37}38import org.easymock.MockControl;39public class Test {40 public static void main(String[] args) {41 MockControl.createMock(Object.class);42 }43}44import org.easymock.MockControl;45public class Test {46 public static void main(String[] args) {47 MockControl.createMock(Object.class);48 }49}50import org.easymock.MockControl;51public class Test {52 public static void main(String[] args) {53 MockControl.createMock(Object.class);54 }55}56import org.easymock.MockControl;57public class Test {58 public static void main(String[] args) {59 MockControl.createMock(Object.class);60 }61}62import org.easymock.MockControl;63public class Test {64 public static void main(String[] args) {65 MockControl.createMock(Object.class);66 }67}68import org.easymock.MockControl;69public class Test {70 public static void main(String[] args) {71 MockControl.createMock(Object.class);72 }

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1import org.easymock.internal.MocksControl;2import org.easymock.internal.MocksControl.MockType;3public class 1 {4 public static void main(String[] args) {5 MocksControl control = new MocksControl(MockType.DEFAULT);6 MockedInterface mocked = control.createMock(MockedInterface.class);7 mocked.doSomething();8 control.replay();9 mocked.doSomething();10 control.verify();11 }12}

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1package org.easymock.internal;2import org.easymock.IMocksControl;3import org.easymock.internal.MocksControl;4public class MocksControlTest {5 public static void main(String[] args) {6 IMocksControl control = new MocksControl();7 Object mock = control.createMock(Object.class);8 System.out.println("Mock object created successfully");9 }10}

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1package org.easymock.internal;2import org.easymock.MockType;3import org.easymock.internal.matchers.*;4import org.easymock.internal.*;5{6 public static void main(String[] args)7 {8 MocksControl control = new MocksControl(MockType.DEFAULT);9 Object obj = control.createMock(Object.class);10 }11}12at org.easymock.internal.MocksControl.createMock(MocksControl.java:38)13at org.easymock.internal.Test.main(Test.java:16)

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1import org.easymock.internal.MocksControl;2{3 public static void main(String args[])4 {5 MocksControl control = new MocksControl();6 IInterface1 mock = (IInterface1)control.createMock(IInterface1.class);7 System.out.println("Mock created");8 }9}10{11}

Full Screen

Full Screen

createMock

Using AI Code Generation

copy

Full Screen

1public class Sample {2 public static void main(String[] args) {3 MocksControl control = new MocksControl();4 List mockList = (List) control.createMock(List.class);5 SampleClass mockSampleClass = (SampleClass) control.createMock(SampleClass.class);6 SampleClass mockSampleClassWithConstructorArg = (SampleClass) control.createMock(SampleClass.class, new Object[] { new Integer(10) });7 SampleClass mockSampleClassWithConstructorArgs = (SampleClass) control.createMock(SampleClass.class, new Object[] { new Integer(10), new Integer(20) });8 }9}10public class Sample {11 public static void main(String[] args) {12 MocksControl control = new MocksControl();13 List mockList = (List) control.createMock(List.class);14 SampleClass mockSampleClass = (SampleClass) control.createMock(SampleClass.class);15 SampleClass mockSampleClassWithConstructorArg = (SampleClass) control.createMock(SampleClass.class, new Object[] { new Integer(10) });16 SampleClass mockSampleClassWithConstructorArgs = (SampleClass) control.createMock(SampleClass.class, new Object[] { new Integer(10), new Integer(20) });17 }18}19public class Sample {20 public static void main(String[] args) {21 MocksControl control = new MocksControl();22 List mockList = (List) control.createMock(List.class);23 SampleClass mockSampleClass = (SampleClass) control.createMock(SampleClass.class);24 SampleClass mockSampleClassWithConstructorArg = (SampleClass) control.createMock(SampleClass.class, new Object[]

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful