diff --git a/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/example/ModelExampleWriter.java b/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/example/ModelExampleWriter.java index 40240379e3d..ba437432638 100644 --- a/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/example/ModelExampleWriter.java +++ b/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/example/ModelExampleWriter.java @@ -108,8 +108,16 @@ public static class ExampleNodeAssertionVisitor { private final List assertions = new ArrayList<>(); - private void addEqualsAssertion(String expected, String code) { - assertions.add(String.format("Assertions.assertEquals(%1$s, %2$s);", expected, code)); + private void addEqualsAssertion(String expected, String code, boolean booleanAssertion) { + if (booleanAssertion) { + if (Boolean.parseBoolean(expected)) { + assertions.add(String.format("Assertions.assertTrue(%s);", code)); + } else { + assertions.add(String.format("Assertions.assertFalse(%s);", code)); + } + } else { + assertions.add(String.format("Assertions.assertEquals(%1$s, %2$s);", expected, code)); + } } public void accept(ExampleNode node, String getterCode) { @@ -117,7 +125,7 @@ public void accept(ExampleNode node, String getterCode) { node.getClientType().addImportsTo(imports, false); addEqualsAssertion(node.getClientType().defaultValueExpression(((LiteralNode) node).getLiteralsValue()), - getterCode); + getterCode, node.getClientType().asNullable() == ClassType.BOOLEAN); } else if (node instanceof ObjectNode) { // additionalProperties } else if (node instanceof ListNode) { diff --git a/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/template/FluentMethodMockTestTemplate.java b/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/template/FluentMethodMockTestTemplate.java index bed8b2758a7..edbd80796d0 100644 --- a/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/template/FluentMethodMockTestTemplate.java +++ b/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/template/FluentMethodMockTestTemplate.java @@ -4,6 +4,7 @@ package com.microsoft.typespec.http.client.generator.mgmt.template; import com.azure.core.credential.AccessToken; +import com.azure.core.http.HttpMethod; import com.azure.core.http.HttpResponse; import com.azure.core.management.profile.AzureProfile; import com.azure.json.JsonProviders; @@ -72,6 +73,8 @@ public void write(ClientMethodInfo info, JavaFile javaFile) { fluentReturnType = FluentUtils.getValueTypeFromResponseType(fluentReturnType); } final boolean hasReturnValue = fluentReturnType.asNullable() != ClassType.VOID; + final boolean isCheckExistence = fluentReturnType.asNullable() == ClassType.BOOLEAN + && clientMethod.getProxyMethod().getHttpMethod() == HttpMethod.HEAD; // method invocation String clientMethodInvocationWithResponse; @@ -148,7 +151,13 @@ public void write(ClientMethodInfo info, JavaFile javaFile) { methodBlock.line(); // verification if (hasReturnValue) { - assertionVisitor.getAssertions().forEach(methodBlock::line); + if (isCheckExistence) { + // checkExistence operation will have 200/204 as its normal response status code. + // Here we could ignore the randomly generated response and assert accordingly. + methodBlock.line("Assertions.assertTrue(" + verificationObjectName + ");"); + } else { + assertionVisitor.getAssertions().forEach(methodBlock::line); + } } });