Best EvoMaster code snippet using com.thrift.example.real.thrift.test.Xtruct2
Source:ThriftTestEndpointsBuilderTest.java  
...34        assertEquals(expectedNumberOfEndpoints(), schema.getEndpoints().size());35    }36    @Test37    public void testDepth(){38        List<Class> clazz = Arrays.asList(Xtruct.class, Xtruct2.class, Insanity.class, Numberz.class, Xception.class, Xception2.class, TException.class);39        Map<String, NamedTypedValue> typedValueMap = schema.getObjParamCollections();40        assertEquals(clazz.size(), typedValueMap.size());41        assertEquals(0, typedValueMap.get(Xtruct.class.getName()).getType().depth);42        assertEquals(0, typedValueMap.get(Numberz.class.getName()).getType().depth);43        assertEquals(0, typedValueMap.get(Xception.class.getName()).getType().depth);44        assertEquals(0, typedValueMap.get(TException.class.getName()).getType().depth);45        assertEquals(1, typedValueMap.get(Xtruct2.class.getName()).getType().depth);46        assertEquals(1, typedValueMap.get(Xception2.class.getName()).getType().depth);47        assertEquals(2, typedValueMap.get(Insanity.class.getName()).getType().depth);48    }49    @Test50    public void testAllContainTException(){51        boolean all = schema.getEndpoints().stream().allMatch(e-> containType(e.getExceptions(),"org.apache.thrift.TException" ));52        assertTrue(all);53    }54    @Test55    public void testVoid(){56        EndpointSchema endpoint = getOneEndpoint("testVoid");57        NamedTypedValue response = endpoint.getResponse();58        assertNull(response);59        assertTrue(endpoint.getRequestParams().isEmpty());60        assertEquals(1, endpoint.getExceptions().size());61    }62    @Test63    public void testString() throws ClassNotFoundException {64        EndpointSchema endpoint = getOneEndpoint("testString");65        NamedTypedValue response = endpoint.getResponse();66        assertNotNull(response);67        assertTrue(response instanceof StringParam);68        assertEquals(1, endpoint.getRequestParams().size());69        NamedTypedValue p1 = endpoint.getRequestParams().get(0);70        assertTrue(p1 instanceof StringParam);71        assertEquals(1, endpoint.getExceptions().size());72        String input = "foo";73        p1.setValueBasedOnInstance(input);74        assertTrue(p1.newInstance().equals(input));75        assertTrue(p1.getDto().stringValue.equals(input));76        assertEquals(RPCSupportedDataType.STRING, p1.getDto().type.type);77        List<String> javaCode = p1.newInstanceWithJava(0);78        assertEquals(1, javaCode.size());79        assertTrue(javaCode.get(0).equals("java.lang.String arg0 = \"foo\";"));80        List<String> endpointJavaCode = endpoint.newInvocationWithJava("res1","controller",null);81        assertEquals(5, endpointJavaCode.size());82        assertEquals("java.lang.String res1 = null;", endpointJavaCode.get(0));83        assertEquals("{", endpointJavaCode.get(1));84        assertEquals(" java.lang.String arg0 = \"foo\";", endpointJavaCode.get(2));85        assertEquals(" res1 = ((com.thrift.example.artificial.RPCInterfaceExampleImpl)(controller.getRPCClient(\"com.thrift.example.real.thrift.test.ThriftTest$Iface\"))).testString(arg0);", endpointJavaCode.get(3));86        assertEquals("}", endpointJavaCode.get(4));87        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);88        assertEquals(1, assertionJavaCode.size());89        assertEquals("assertEquals(\"foo\", res1);", assertionJavaCode.get(0));90    }91    @Test92    public void testBool() throws ClassNotFoundException {93        EndpointSchema endpoint = getOneEndpoint("testBool");94        NamedTypedValue response = endpoint.getResponse();95        assertNotNull(response);96        assertTrue(response instanceof BooleanParam);97        assertEquals(1, endpoint.getRequestParams().size());98        NamedTypedValue p1 = endpoint.getRequestParams().get(0);99        assertTrue(p1 instanceof BooleanParam);100        assertEquals(1, endpoint.getExceptions().size());101        boolean input = true;102        p1.setValueBasedOnInstance(input);103        assertTrue(p1.newInstance().equals(input));104        assertTrue(p1.getDto().stringValue.equals(""+input));105        assertEquals(RPCSupportedDataType.P_BOOLEAN, p1.getDto().type.type);106        List<String> javaCode = p1.newInstanceWithJava(0);107        assertEquals(1, javaCode.size());108        assertTrue(javaCode.get(0).equals("boolean arg0 = true;"));109        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);110        assertEquals(1, assertionJavaCode.size());111        assertEquals("assertEquals(true, res1);", assertionJavaCode.get(0));112    }113    @Test114    public void testByte() throws ClassNotFoundException {115        EndpointSchema endpoint = getOneEndpoint("testByte");116        NamedTypedValue response = endpoint.getResponse();117        assertNotNull(response);118        assertTrue(response instanceof ByteParam);119        assertEquals(1, endpoint.getRequestParams().size());120        NamedTypedValue p1 = endpoint.getRequestParams().get(0);121        assertTrue(p1 instanceof ByteParam);122        assertEquals(1, endpoint.getExceptions().size());123        byte input = 42;124        p1.setValueBasedOnInstance(input);125        assertTrue(p1.newInstance().equals(input));126        assertTrue(p1.getDto().stringValue.equals(""+input));127        assertEquals(RPCSupportedDataType.P_BYTE, p1.getDto().type.type);128        List<String> javaCode = p1.newInstanceWithJava(0);129        assertEquals(1, javaCode.size());130        assertTrue(javaCode.get(0).equals("byte arg0 = 42;"));131        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);132        assertEquals(1, assertionJavaCode.size());133        assertEquals("assertEquals(42, res1);", assertionJavaCode.get(0));134    }135    @Test136    public void testInt() throws ClassNotFoundException {137        EndpointSchema endpoint = getOneEndpoint("testI32");138        NamedTypedValue response = endpoint.getResponse();139        assertNotNull(response);140        assertTrue(response instanceof IntParam);141        assertEquals(1, endpoint.getRequestParams().size());142        NamedTypedValue p1 = endpoint.getRequestParams().get(0);143        assertTrue(p1 instanceof IntParam);144        assertEquals(1, endpoint.getExceptions().size());145        int input = 42;146        p1.setValueBasedOnInstance(input);147        assertTrue(p1.newInstance().equals(input));148        assertTrue(p1.getDto().stringValue.equals(""+input));149        assertEquals(RPCSupportedDataType.P_INT, p1.getDto().type.type);150        List<String> javaCode = p1.newInstanceWithJava(0);151        assertEquals(1, javaCode.size());152        assertTrue(javaCode.get(0).equals("int arg0 = 42;"));153        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);154        assertEquals(1, assertionJavaCode.size());155        assertEquals("assertEquals(42, res1);", assertionJavaCode.get(0));156    }157    @Test158    public void testLong() throws ClassNotFoundException {159        EndpointSchema endpoint = getOneEndpoint("testI64");160        NamedTypedValue response = endpoint.getResponse();161        assertNotNull(response);162        assertTrue(response instanceof LongParam);163        assertEquals(1, endpoint.getRequestParams().size());164        NamedTypedValue p1 = endpoint.getRequestParams().get(0);165        assertTrue(p1 instanceof LongParam);166        assertEquals(1, endpoint.getExceptions().size());167        long input = 42L;168        p1.setValueBasedOnInstance(input);169        assertTrue(p1.newInstance().equals(input));170        assertTrue(p1.getDto().stringValue.equals(""+input));171        assertEquals(RPCSupportedDataType.P_LONG, p1.getDto().type.type);172        List<String> javaCode = p1.newInstanceWithJava(0);173        assertEquals(1, javaCode.size());174        assertTrue(javaCode.get(0).equals("long arg0 = 42L;"));175        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);176        assertEquals(1, assertionJavaCode.size());177        assertEquals("assertEquals(42L, res1);", assertionJavaCode.get(0));178    }179    @Test180    public void testDouble() throws ClassNotFoundException {181        EndpointSchema endpoint = getOneEndpoint("testDouble");182        NamedTypedValue response = endpoint.getResponse();183        assertNotNull(response);184        assertTrue(response instanceof DoubleParam);185        assertEquals(1, endpoint.getRequestParams().size());186        NamedTypedValue p1 = endpoint.getRequestParams().get(0);187        assertTrue(p1 instanceof DoubleParam);188        assertEquals(1, endpoint.getExceptions().size());189        double input = 42.42;190        p1.setValueBasedOnInstance(input);191        assertTrue(p1.newInstance().equals(input));192        assertTrue(p1.getDto().stringValue.equals(""+input));193        assertEquals(RPCSupportedDataType.P_DOUBLE, p1.getDto().type.type);194        List<String> javaCode = p1.newInstanceWithJava(0);195        assertEquals(1, javaCode.size());196        assertTrue(javaCode.get(0).equals("double arg0 = 42.42;"));197        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);198        assertEquals(1, assertionJavaCode.size());199        assertEquals("assertTrue(numbersMatch(42.42, res1));", assertionJavaCode.get(0));200    }201    @Test202    public void testBinary() throws ClassNotFoundException {203        EndpointSchema endpoint = getOneEndpoint("testBinary");204        NamedTypedValue response = endpoint.getResponse();205        assertNotNull(response);206        assertTrue(response instanceof ByteBufferParam);207        assertEquals(1, endpoint.getRequestParams().size());208        NamedTypedValue p1 = endpoint.getRequestParams().get(0);209        assertTrue(p1 instanceof ByteBufferParam);210        assertEquals(1, endpoint.getExceptions().size());211        byte[] input = "foo".getBytes(StandardCharsets.UTF_8);212        ByteBuffer buffer = ByteBuffer.allocate(input.length);213        buffer.put(input);214        p1.setValueBasedOnInstance(buffer);215        assertTrue(p1.newInstance() instanceof ByteBuffer);216        String extracted = new String(((ByteBuffer) p1.newInstance()).array(), StandardCharsets.UTF_8);217        assertTrue(extracted.equals("foo"));218        assertTrue(p1.getDto().stringValue.equals("foo"));219        assertEquals(RPCSupportedDataType.BYTEBUFFER, p1.getDto().type.type);220        List<String> javaCode = p1.newInstanceWithJava(0);221        assertEquals(6, javaCode.size());222        assertEquals("java.nio.ByteBuffer arg0 = null;", javaCode.get(0));223        assertEquals("{", javaCode.get(1));224        assertEquals(" byte[] arg0_byteArray = \"foo\".getBytes(java.nio.charset.StandardCharsets.UTF_8);", javaCode.get(2));225        assertEquals(" arg0 = java.nio.ByteBuffer.allocate(arg0_byteArray.length);", javaCode.get(3));226        assertEquals(" arg0.put(arg0_byteArray);", javaCode.get(4));227        assertEquals("}", javaCode.get(5));228        List<String> assertionJavaCode = p1.newAssertionWithJava(0, "res1", -1);229        assertEquals(1, assertionJavaCode.size());230        assertEquals("// not handle ByteBuffer assertion", assertionJavaCode.get(0));231    }232    @Test233    public void testStruct() throws ClassNotFoundException {234        EndpointSchema endpoint = getOneEndpoint("testStruct");235        NamedTypedValue response = endpoint.getResponse();236        assertNotNull(response);237        assertTrue(response instanceof ObjectParam);238        assertEquals("com.thrift.example.real.thrift.test.Xtruct", response.getType().getFullTypeName());239        List<NamedTypedValue> fields = ((ObjectType)response.getType()).getFields();240        assertEquals(4, fields.size());241        assertTrue(fields.get(0) instanceof StringParam);242        assertTrue(fields.get(1) instanceof ByteParam);243        assertTrue(fields.get(2) instanceof IntParam);244        assertTrue(fields.get(3) instanceof LongParam);245        assertEquals(1, endpoint.getRequestParams().size());246        NamedTypedValue request = endpoint.getRequestParams().get(0);247        assertTrue(request instanceof ObjectParam);248        assertEquals("com.thrift.example.real.thrift.test.Xtruct", request.getType().getFullTypeName());249        Xtruct input = new Xtruct();250        input.string_thing = "foo";251        input.byte_thing = 42;252        input.i32_thing = 42;253        input.i64_thing = 42L;254        request.setValueBasedOnInstance(input);255        Object instance = request.newInstance();256        assertTrue(instance instanceof  Xtruct);257        assertEquals(input.byte_thing, ((Xtruct)instance).byte_thing);258        assertEquals(input.i32_thing, ((Xtruct)instance).i32_thing);259        assertEquals(input.i64_thing, ((Xtruct)instance).i64_thing);260        assertEquals(input.string_thing, ((Xtruct)instance).string_thing);261        ParamDto dto = request.getDto();262        assertEquals(dto.type.type, RPCSupportedDataType.CUSTOM_OBJECT);263        assertEquals(4, dto.innerContent.size());264        for (ParamDto fdto : dto.innerContent){265            if (fdto.name.equals("string_thing")){266                assertEquals(input.string_thing, fdto.stringValue);267            } else if (fdto.name.equals("byte_thing")){268                assertEquals(fdto.stringValue, "" + input.byte_thing);269            } else if (fdto.name.equals("i32_thing")){270                assertEquals(fdto.stringValue, "" + input.i32_thing);271            } else if (fdto.name.equals("i64_thing")){272                assertEquals(fdto.stringValue, "" + input.i64_thing);273            } else {274                fail("error field name "+fdto.name);275            }276        }277        List<String> javaCode = request.newInstanceWithJava(0);278        assertEquals(8, javaCode.size());279        assertEquals("com.thrift.example.real.thrift.test.Xtruct arg0 = null;", javaCode.get(0));280        assertEquals("{", javaCode.get(1));281        assertEquals(" arg0 = new com.thrift.example.real.thrift.test.Xtruct();", javaCode.get(2));282        assertEquals(" arg0.string_thing = \"foo\";", javaCode.get(3));283        assertEquals(" arg0.byte_thing = 42;", javaCode.get(4));284        assertEquals(" arg0.i32_thing = 42;", javaCode.get(5));285        assertEquals(" arg0.i64_thing = 42L;", javaCode.get(6));286        assertEquals("}", javaCode.get(7));287        List<String> assertionJavaCode = request.newAssertionWithJava(0, "res1", -1);288        assertEquals(4, assertionJavaCode.size());289        assertEquals("assertEquals(\"foo\", res1.string_thing);", assertionJavaCode.get(0));290        assertEquals("assertEquals(42, res1.byte_thing);", assertionJavaCode.get(1));291        assertEquals("assertEquals(42, res1.i32_thing);", assertionJavaCode.get(2));292        assertEquals("assertEquals(42L, res1.i64_thing);", assertionJavaCode.get(3));293        // thrift inits the default value for primitive types294        Xtruct empty = new Xtruct();295        request.setValueBasedOnInstance(empty);296        javaCode = request.newInstanceWithJava(0);297        assertEquals(8, javaCode.size());298        assertEquals("com.thrift.example.real.thrift.test.Xtruct arg0 = null;", javaCode.get(0));299        assertEquals("{", javaCode.get(1));300        assertEquals(" arg0 = new com.thrift.example.real.thrift.test.Xtruct();", javaCode.get(2));301        assertEquals(" arg0.byte_thing = 0;", javaCode.get(4));302        assertEquals(" arg0.i32_thing = 0;", javaCode.get(5));303        assertEquals(" arg0.i64_thing = 0L;", javaCode.get(6));304        assertEquals("}", javaCode.get(7));305        assertionJavaCode = request.newAssertionWithJava(0, "res1", -1);306        assertEquals(4, assertionJavaCode.size());307        assertEquals("assertNull(res1.string_thing);", assertionJavaCode.get(0));308        assertEquals("assertEquals(0, res1.byte_thing);", assertionJavaCode.get(1));309        assertEquals("assertEquals(0, res1.i32_thing);", assertionJavaCode.get(2));310        assertEquals("assertEquals(0L, res1.i64_thing);", assertionJavaCode.get(3));311    }312    @Test313    public void testNest() throws ClassNotFoundException {314        EndpointSchema endpoint = getOneEndpoint("testNest");315        NamedTypedValue response = endpoint.getResponse();316        assertNotNull(response);317        assertTrue(response instanceof ObjectParam);318        assertEquals(Xtruct2.class.getName(), response.getType().getFullTypeName());319        List<NamedTypedValue> fields = ((ObjectType)response.getType()).getFields();320        assertEquals(3, fields.size());321        assertTrue(fields.get(0) instanceof ByteParam);322        assertTrue(fields.get(1) instanceof ObjectParam);323        assertTrue(fields.get(2) instanceof IntParam);324        List<NamedTypedValue> ifields = ((ObjectType)(fields.get(1)).getType()).getFields();325        assertEquals(4, ifields.size());326        assertEquals(1, endpoint.getRequestParams().size());327        NamedTypedValue request = endpoint.getRequestParams().get(0);328        assertTrue(request instanceof ObjectParam);329        assertEquals(Xtruct2.class.getName(), request.getType().getFullTypeName());330        List<NamedTypedValue> rfields = ((ObjectType)request.getType()).getFields();331        assertEquals(3, rfields.size());332        assertTrue(rfields.get(0) instanceof ByteParam);333        assertTrue(rfields.get(1) instanceof ObjectParam);334        assertTrue(rfields.get(2) instanceof IntParam);335        List<NamedTypedValue> rifields = ((ObjectType)(rfields.get(1)).getType()).getFields();336        assertEquals(4, rifields.size());337        Xtruct2 input = new Xtruct2();338        input.byte_thing = 42;339        input.i32_thing = 42;340        Xtruct objField = new Xtruct();341        input.struct_thing = objField;342        objField.i64_thing = 100L;343        objField.i32_thing = 100;344        objField.byte_thing = 100;345        objField.string_thing = "bar";346        request.setValueBasedOnInstance(input);347        Object requestInstance = request.newInstance();348        assertTrue(requestInstance instanceof Xtruct2);349        Xtruct2 xinstance2 = (Xtruct2) requestInstance;350        assertEquals(input.byte_thing, xinstance2.byte_thing);351        assertEquals(input.i32_thing, xinstance2.i32_thing);352        assertEquals(objField.byte_thing, input.struct_thing.byte_thing);353        assertEquals(objField.i32_thing, input.struct_thing.i32_thing);354        assertEquals(objField.i64_thing, input.struct_thing.i64_thing);355        ParamDto requestDto = request.getDto();356        assertEquals(RPCSupportedDataType.CUSTOM_OBJECT, requestDto.type.type);357        assertEquals(3, requestDto.innerContent.size());358        for (ParamDto fdto : requestDto.innerContent){359            if (fdto.name.equals("byte_thing")){360                assertEquals(fdto.stringValue, "" + input.byte_thing);361            } else if (fdto.name.equals("i32_thing")){362                assertEquals(fdto.stringValue, "" + input.i32_thing);363            } else if (fdto.name.equals("struct_thing")){364                assertEquals(4, fdto.innerContent.size());365                for (ParamDto fidto : fdto.innerContent){366                    if (fidto.name.equals("string_thing")){367                        assertEquals(objField.string_thing, fidto.stringValue);368                    } else if (fidto.name.equals("byte_thing")){369                        assertEquals("" + objField.byte_thing, fidto.stringValue);370                    } else if (fidto.name.equals("i32_thing")){371                        assertEquals("" + objField.i32_thing, fidto.stringValue);372                    } else if (fidto.name.equals("i64_thing")){373                        assertEquals("" + objField.i64_thing, fidto.stringValue);374                    } else {375                        fail("error field name of Xtruct "+fidto.name);376                    }377                }378            } else {379                fail("error field name of Xtruct "+fdto.name);380            }381        }382        List<String> javaCode = request.newInstanceWithJava(0);383        assertEquals(14, javaCode.size());384        assertEquals("com.thrift.example.real.thrift.test.Xtruct2 arg0 = null;", javaCode.get(0));385        assertEquals("{", javaCode.get(1));386        assertEquals(" arg0 = new com.thrift.example.real.thrift.test.Xtruct2();", javaCode.get(2));387        assertEquals(" arg0.byte_thing = 42;", javaCode.get(3));388        assertEquals(" arg0.struct_thing = null;", javaCode.get(4));389        assertEquals(" {", javaCode.get(5));390        assertEquals("  arg0.struct_thing = new com.thrift.example.real.thrift.test.Xtruct();", javaCode.get(6));391        assertEquals("  arg0.struct_thing.string_thing = \"bar\";", javaCode.get(7));392        assertEquals("  arg0.struct_thing.byte_thing = 100;", javaCode.get(8));393        assertEquals("  arg0.struct_thing.i32_thing = 100;", javaCode.get(9));394        assertEquals("  arg0.struct_thing.i64_thing = 100L;", javaCode.get(10));395        assertEquals(" }", javaCode.get(11));396        assertEquals(" arg0.i32_thing = 42;", javaCode.get(12));397        assertEquals("}", javaCode.get(13));398        List<String> assertionJavaCode = request.newAssertionWithJava(0, "res1", -1);399        assertEquals(6, assertionJavaCode.size());400        assertEquals("assertEquals(42, res1.byte_thing);", assertionJavaCode.get(0));...Xtruct2
Using AI Code Generation
1com.thrift.example.real.thrift.test.Xtruct2 xtruct2 = new com.thrift.example.real.thrift.test.Xtruct2();2xtruct2.string_thing = "hello";3xtruct2.byte_thing = 1;4xtruct2.i32_thing = 2;5xtruct2.i64_thing = 3;6com.thrift.example.real.thrift.test.Xtruct2 result = client.test2(xtruct2);7System.out.println("Result: " + result.string_thing);8result = client.test2(xtruct2);9System.out.println("Result: " + result.string_thing);10System.out.println("Done");11}12}13}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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
