> execute(
+ final ApiHttpClient client) {
+ return execute(client, com.commercetools.api.models.business_unit.BusinessUnitAssociateResponse.class);
+ }
+
+ public String getProjectKey() {
+ return this.projectKey;
+ }
+
+ public String getStoreKey() {
+ return this.storeKey;
+ }
+
+ public String getKey() {
+ return this.key;
+ }
+
+ public String getAssociateId() {
+ return this.associateId;
+ }
+
+ public void setProjectKey(final String projectKey) {
+ this.projectKey = projectKey;
+ }
+
+ public void setStoreKey(final String storeKey) {
+ this.storeKey = storeKey;
+ }
+
+ public void setKey(final String key) {
+ this.key = key;
+ }
+
+ public void setAssociateId(final String associateId) {
+ this.associateId = associateId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet that = (ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet) o;
+
+ return new EqualsBuilder().append(projectKey, that.projectKey)
+ .append(storeKey, that.storeKey)
+ .append(key, that.key)
+ .append(associateId, that.associateId)
+ .isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder(17, 37).append(projectKey)
+ .append(storeKey)
+ .append(key)
+ .append(associateId)
+ .toHashCode();
+ }
+
+ @Override
+ protected ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet copy() {
+ return new ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet(this);
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder.java
new file mode 100644
index 00000000000..b20036396c5
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder.java
@@ -0,0 +1,31 @@
+
+package com.commercetools.api.client;
+
+import io.vrap.rmf.base.client.ApiHttpClient;
+import io.vrap.rmf.base.client.utils.Generated;
+
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+public class ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder {
+
+ private final ApiHttpClient apiHttpClient;
+ private final String projectKey;
+ private final String storeKey;
+ private final String key;
+ private final String associateId;
+
+ public ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder(
+ final ApiHttpClient apiHttpClient, final String projectKey, final String storeKey, final String key,
+ final String associateId) {
+ this.apiHttpClient = apiHttpClient;
+ this.projectKey = projectKey;
+ this.storeKey = storeKey;
+ this.key = key;
+ this.associateId = associateId;
+ }
+
+ public ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet get() {
+ return new ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet(apiHttpClient,
+ projectKey, storeKey, key, associateId);
+ }
+
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsRequestBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsRequestBuilder.java
index a0b549538ae..c4c70a9d0ec 100644
--- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsRequestBuilder.java
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/client/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsRequestBuilder.java
@@ -55,4 +55,16 @@ public ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByIDRequestBuilder withId(St
ID);
}
+ public ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder keyWithKeyValueAssociatesWithAssociateIdValue(
+ String key, String associateId) {
+ return new ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdRequestBuilder(
+ apiHttpClient, projectKey, storeKey, key, associateId);
+ }
+
+ public ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdRequestBuilder withBusinessUnitIdValueAssociatesWithAssociateIdValue(
+ String businessUnitId, String associateId) {
+ return new ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdRequestBuilder(
+ apiHttpClient, projectKey, storeKey, businessUnitId, associateId);
+ }
+
}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponse.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponse.java
new file mode 100644
index 00000000000..04fe5423f1a
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponse.java
@@ -0,0 +1,216 @@
+
+package com.commercetools.api.models.business_unit;
+
+import java.time.*;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javax.annotation.Nullable;
+
+import com.commercetools.api.models.associate_role.AssociateRole;
+import com.commercetools.api.models.associate_role.Permission;
+import com.commercetools.api.models.customer.CustomerReference;
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.databind.annotation.*;
+
+import io.vrap.rmf.base.client.utils.Generated;
+
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+
+/**
+ * Information about all roles and permissions of an Associate in a BusinessUnit.
+ *
+ *
+ * Example to create an instance using the builder pattern
+ *
+ *
+ * BusinessUnitAssociateResponse businessUnitAssociateResponse = BusinessUnitAssociateResponse.builder()
+ * .customer(customerBuilder -> customerBuilder)
+ * .plusAssociateRoles(associateRolesBuilder -> associateRolesBuilder)
+ * .plusInheritedAssociateRoles(inheritedAssociateRolesBuilder -> inheritedAssociateRolesBuilder)
+ * .plusPermissions(permissionsBuilder -> permissionsBuilder)
+ * .build()
+ *
+ *
+ */
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+@JsonDeserialize(as = BusinessUnitAssociateResponseImpl.class)
+public interface BusinessUnitAssociateResponse {
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @return customer
+ */
+ @NotNull
+ @Valid
+ @JsonProperty("customer")
+ public CustomerReference getCustomer();
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @return associateRoles
+ */
+ @NotNull
+ @Valid
+ @JsonProperty("associateRoles")
+ public List getAssociateRoles();
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @return inheritedAssociateRoles
+ */
+ @NotNull
+ @Valid
+ @JsonProperty("inheritedAssociateRoles")
+ public List getInheritedAssociateRoles();
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @return permissions
+ */
+ @NotNull
+ @JsonProperty("permissions")
+ public List getPermissions();
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @param customer value to be set
+ */
+
+ public void setCustomer(final CustomerReference customer);
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param associateRoles values to be set
+ */
+
+ @JsonIgnore
+ public void setAssociateRoles(final AssociateRole... associateRoles);
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param associateRoles values to be set
+ */
+
+ public void setAssociateRoles(final List associateRoles);
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param inheritedAssociateRoles values to be set
+ */
+
+ @JsonIgnore
+ public void setInheritedAssociateRoles(final AssociateRole... inheritedAssociateRoles);
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param inheritedAssociateRoles values to be set
+ */
+
+ public void setInheritedAssociateRoles(final List inheritedAssociateRoles);
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @param permissions values to be set
+ */
+
+ @JsonIgnore
+ public void setPermissions(final Permission... permissions);
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @param permissions values to be set
+ */
+
+ public void setPermissions(final List permissions);
+
+ /**
+ * factory method
+ * @return instance of BusinessUnitAssociateResponse
+ */
+ public static BusinessUnitAssociateResponse of() {
+ return new BusinessUnitAssociateResponseImpl();
+ }
+
+ /**
+ * factory method to create a shallow copy BusinessUnitAssociateResponse
+ * @param template instance to be copied
+ * @return copy instance
+ */
+ public static BusinessUnitAssociateResponse of(final BusinessUnitAssociateResponse template) {
+ BusinessUnitAssociateResponseImpl instance = new BusinessUnitAssociateResponseImpl();
+ instance.setCustomer(template.getCustomer());
+ instance.setAssociateRoles(template.getAssociateRoles());
+ instance.setInheritedAssociateRoles(template.getInheritedAssociateRoles());
+ instance.setPermissions(template.getPermissions());
+ return instance;
+ }
+
+ /**
+ * factory method to create a deep copy of BusinessUnitAssociateResponse
+ * @param template instance to be copied
+ * @return copy instance
+ */
+ @Nullable
+ public static BusinessUnitAssociateResponse deepCopy(@Nullable final BusinessUnitAssociateResponse template) {
+ if (template == null) {
+ return null;
+ }
+ BusinessUnitAssociateResponseImpl instance = new BusinessUnitAssociateResponseImpl();
+ instance.setCustomer(com.commercetools.api.models.customer.CustomerReference.deepCopy(template.getCustomer()));
+ instance.setAssociateRoles(Optional.ofNullable(template.getAssociateRoles())
+ .map(t -> t.stream()
+ .map(com.commercetools.api.models.associate_role.AssociateRole::deepCopy)
+ .collect(Collectors.toList()))
+ .orElse(null));
+ instance.setInheritedAssociateRoles(Optional.ofNullable(template.getInheritedAssociateRoles())
+ .map(t -> t.stream()
+ .map(com.commercetools.api.models.associate_role.AssociateRole::deepCopy)
+ .collect(Collectors.toList()))
+ .orElse(null));
+ instance.setPermissions(Optional.ofNullable(template.getPermissions()).map(ArrayList::new).orElse(null));
+ return instance;
+ }
+
+ /**
+ * builder factory method for BusinessUnitAssociateResponse
+ * @return builder
+ */
+ public static BusinessUnitAssociateResponseBuilder builder() {
+ return BusinessUnitAssociateResponseBuilder.of();
+ }
+
+ /**
+ * create builder for BusinessUnitAssociateResponse instance
+ * @param template instance with prefilled values for the builder
+ * @return builder
+ */
+ public static BusinessUnitAssociateResponseBuilder builder(final BusinessUnitAssociateResponse template) {
+ return BusinessUnitAssociateResponseBuilder.of(template);
+ }
+
+ /**
+ * accessor map function
+ * @param mapped type
+ * @param helper function to map the object
+ * @return mapped value
+ */
+ default T withBusinessUnitAssociateResponse(Function helper) {
+ return helper.apply(this);
+ }
+
+ /**
+ * gives a TypeReference for usage with Jackson DataBind
+ * @return TypeReference
+ */
+ public static com.fasterxml.jackson.core.type.TypeReference typeReference() {
+ return new com.fasterxml.jackson.core.type.TypeReference() {
+ @Override
+ public String toString() {
+ return "TypeReference";
+ }
+ };
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseBuilder.java
new file mode 100644
index 00000000000..1ac05f19163
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseBuilder.java
@@ -0,0 +1,374 @@
+
+package com.commercetools.api.models.business_unit;
+
+import java.util.*;
+import java.util.function.Function;
+
+import io.vrap.rmf.base.client.Builder;
+import io.vrap.rmf.base.client.utils.Generated;
+
+/**
+ * BusinessUnitAssociateResponseBuilder
+ *
+ * Example to create an instance using the builder pattern
+ *
+ *
+ * BusinessUnitAssociateResponse businessUnitAssociateResponse = BusinessUnitAssociateResponse.builder()
+ * .customer(customerBuilder -> customerBuilder)
+ * .plusAssociateRoles(associateRolesBuilder -> associateRolesBuilder)
+ * .plusInheritedAssociateRoles(inheritedAssociateRolesBuilder -> inheritedAssociateRolesBuilder)
+ * .plusPermissions(permissionsBuilder -> permissionsBuilder)
+ * .build()
+ *
+ *
+ */
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+public class BusinessUnitAssociateResponseBuilder implements Builder {
+
+ private com.commercetools.api.models.customer.CustomerReference customer;
+
+ private java.util.List associateRoles;
+
+ private java.util.List inheritedAssociateRoles;
+
+ private java.util.List permissions;
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @param builder function to build the customer value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder customer(
+ Function builder) {
+ this.customer = builder.apply(com.commercetools.api.models.customer.CustomerReferenceBuilder.of()).build();
+ return this;
+ }
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @param builder function to build the customer value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder withCustomer(
+ Function builder) {
+ this.customer = builder.apply(com.commercetools.api.models.customer.CustomerReferenceBuilder.of());
+ return this;
+ }
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @param customer value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder customer(
+ final com.commercetools.api.models.customer.CustomerReference customer) {
+ this.customer = customer;
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param associateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder associateRoles(
+ final com.commercetools.api.models.associate_role.AssociateRole... associateRoles) {
+ this.associateRoles = new ArrayList<>(Arrays.asList(associateRoles));
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param associateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder associateRoles(
+ final java.util.List associateRoles) {
+ this.associateRoles = associateRoles;
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param associateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder plusAssociateRoles(
+ final com.commercetools.api.models.associate_role.AssociateRole... associateRoles) {
+ if (this.associateRoles == null) {
+ this.associateRoles = new ArrayList<>();
+ }
+ this.associateRoles.addAll(Arrays.asList(associateRoles));
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param builder function to build the associateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder plusAssociateRoles(
+ Function builder) {
+ if (this.associateRoles == null) {
+ this.associateRoles = new ArrayList<>();
+ }
+ this.associateRoles
+ .add(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()).build());
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param builder function to build the associateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder withAssociateRoles(
+ Function builder) {
+ this.associateRoles = new ArrayList<>();
+ this.associateRoles
+ .add(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()).build());
+ return this;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param builder function to build the associateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder addAssociateRoles(
+ Function builder) {
+ return plusAssociateRoles(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()));
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @param builder function to build the associateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder setAssociateRoles(
+ Function builder) {
+ return associateRoles(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()));
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param inheritedAssociateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder inheritedAssociateRoles(
+ final com.commercetools.api.models.associate_role.AssociateRole... inheritedAssociateRoles) {
+ this.inheritedAssociateRoles = new ArrayList<>(Arrays.asList(inheritedAssociateRoles));
+ return this;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param inheritedAssociateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder inheritedAssociateRoles(
+ final java.util.List inheritedAssociateRoles) {
+ this.inheritedAssociateRoles = inheritedAssociateRoles;
+ return this;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param inheritedAssociateRoles value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder plusInheritedAssociateRoles(
+ final com.commercetools.api.models.associate_role.AssociateRole... inheritedAssociateRoles) {
+ if (this.inheritedAssociateRoles == null) {
+ this.inheritedAssociateRoles = new ArrayList<>();
+ }
+ this.inheritedAssociateRoles.addAll(Arrays.asList(inheritedAssociateRoles));
+ return this;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param builder function to build the inheritedAssociateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder plusInheritedAssociateRoles(
+ Function builder) {
+ if (this.inheritedAssociateRoles == null) {
+ this.inheritedAssociateRoles = new ArrayList<>();
+ }
+ this.inheritedAssociateRoles
+ .add(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()).build());
+ return this;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param builder function to build the inheritedAssociateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder withInheritedAssociateRoles(
+ Function builder) {
+ this.inheritedAssociateRoles = new ArrayList<>();
+ this.inheritedAssociateRoles
+ .add(builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()).build());
+ return this;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param builder function to build the inheritedAssociateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder addInheritedAssociateRoles(
+ Function builder) {
+ return plusInheritedAssociateRoles(
+ builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()));
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @param builder function to build the inheritedAssociateRoles value
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder setInheritedAssociateRoles(
+ Function builder) {
+ return inheritedAssociateRoles(
+ builder.apply(com.commercetools.api.models.associate_role.AssociateRoleBuilder.of()));
+ }
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @param permissions value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder permissions(
+ final com.commercetools.api.models.associate_role.Permission... permissions) {
+ this.permissions = new ArrayList<>(Arrays.asList(permissions));
+ return this;
+ }
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @param permissions value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder permissions(
+ final java.util.List permissions) {
+ this.permissions = permissions;
+ return this;
+ }
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @param permissions value to be set
+ * @return Builder
+ */
+
+ public BusinessUnitAssociateResponseBuilder plusPermissions(
+ final com.commercetools.api.models.associate_role.Permission... permissions) {
+ if (this.permissions == null) {
+ this.permissions = new ArrayList<>();
+ }
+ this.permissions.addAll(Arrays.asList(permissions));
+ return this;
+ }
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ * @return customer
+ */
+
+ public com.commercetools.api.models.customer.CustomerReference getCustomer() {
+ return this.customer;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ * @return associateRoles
+ */
+
+ public java.util.List getAssociateRoles() {
+ return this.associateRoles;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ * @return inheritedAssociateRoles
+ */
+
+ public java.util.List getInheritedAssociateRoles() {
+ return this.inheritedAssociateRoles;
+ }
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ * @return permissions
+ */
+
+ public java.util.List getPermissions() {
+ return this.permissions;
+ }
+
+ /**
+ * builds BusinessUnitAssociateResponse with checking for non-null required values
+ * @return BusinessUnitAssociateResponse
+ */
+ public BusinessUnitAssociateResponse build() {
+ Objects.requireNonNull(customer, BusinessUnitAssociateResponse.class + ": customer is missing");
+ Objects.requireNonNull(associateRoles, BusinessUnitAssociateResponse.class + ": associateRoles is missing");
+ Objects.requireNonNull(inheritedAssociateRoles,
+ BusinessUnitAssociateResponse.class + ": inheritedAssociateRoles is missing");
+ Objects.requireNonNull(permissions, BusinessUnitAssociateResponse.class + ": permissions is missing");
+ return new BusinessUnitAssociateResponseImpl(customer, associateRoles, inheritedAssociateRoles, permissions);
+ }
+
+ /**
+ * builds BusinessUnitAssociateResponse without checking for non-null required values
+ * @return BusinessUnitAssociateResponse
+ */
+ public BusinessUnitAssociateResponse buildUnchecked() {
+ return new BusinessUnitAssociateResponseImpl(customer, associateRoles, inheritedAssociateRoles, permissions);
+ }
+
+ /**
+ * factory method for an instance of BusinessUnitAssociateResponseBuilder
+ * @return builder
+ */
+ public static BusinessUnitAssociateResponseBuilder of() {
+ return new BusinessUnitAssociateResponseBuilder();
+ }
+
+ /**
+ * create builder for BusinessUnitAssociateResponse instance
+ * @param template instance with prefilled values for the builder
+ * @return builder
+ */
+ public static BusinessUnitAssociateResponseBuilder of(final BusinessUnitAssociateResponse template) {
+ BusinessUnitAssociateResponseBuilder builder = new BusinessUnitAssociateResponseBuilder();
+ builder.customer = template.getCustomer();
+ builder.associateRoles = template.getAssociateRoles();
+ builder.inheritedAssociateRoles = template.getInheritedAssociateRoles();
+ builder.permissions = template.getPermissions();
+ return builder;
+ }
+
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseImpl.java
new file mode 100644
index 00000000000..23e4a93aea2
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseImpl.java
@@ -0,0 +1,157 @@
+
+package com.commercetools.api.models.business_unit;
+
+import java.time.*;
+import java.util.*;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.*;
+
+import io.vrap.rmf.base.client.ModelBase;
+import io.vrap.rmf.base.client.utils.Generated;
+
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * Information about all roles and permissions of an Associate in a BusinessUnit.
+ */
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+public class BusinessUnitAssociateResponseImpl implements BusinessUnitAssociateResponse, ModelBase {
+
+ private com.commercetools.api.models.customer.CustomerReference customer;
+
+ private java.util.List associateRoles;
+
+ private java.util.List inheritedAssociateRoles;
+
+ private java.util.List permissions;
+
+ /**
+ * create instance with all properties
+ */
+ @JsonCreator
+ BusinessUnitAssociateResponseImpl(
+ @JsonProperty("customer") final com.commercetools.api.models.customer.CustomerReference customer,
+ @JsonProperty("associateRoles") final java.util.List associateRoles,
+ @JsonProperty("inheritedAssociateRoles") final java.util.List inheritedAssociateRoles,
+ @JsonProperty("permissions") final java.util.List permissions) {
+ this.customer = customer;
+ this.associateRoles = associateRoles;
+ this.inheritedAssociateRoles = inheritedAssociateRoles;
+ this.permissions = permissions;
+ }
+
+ /**
+ * create empty instance
+ */
+ public BusinessUnitAssociateResponseImpl() {
+ }
+
+ /**
+ * The Customer that acts as an Associate in the Business Unit.
+ */
+
+ public com.commercetools.api.models.customer.CustomerReference getCustomer() {
+ return this.customer;
+ }
+
+ /**
+ * Roles assigned to Associates in the Business Unit.
+ */
+
+ public java.util.List getAssociateRoles() {
+ return this.associateRoles;
+ }
+
+ /**
+ * Roles inherited by Associates from the parent Business Unit.
+ */
+
+ public java.util.List getInheritedAssociateRoles() {
+ return this.inheritedAssociateRoles;
+ }
+
+ /**
+ * Permissions the Associate has in the Business Unit.
+ */
+
+ public java.util.List getPermissions() {
+ return this.permissions;
+ }
+
+ public void setCustomer(final com.commercetools.api.models.customer.CustomerReference customer) {
+ this.customer = customer;
+ }
+
+ public void setAssociateRoles(final com.commercetools.api.models.associate_role.AssociateRole... associateRoles) {
+ this.associateRoles = new ArrayList<>(Arrays.asList(associateRoles));
+ }
+
+ public void setAssociateRoles(
+ final java.util.List associateRoles) {
+ this.associateRoles = associateRoles;
+ }
+
+ public void setInheritedAssociateRoles(
+ final com.commercetools.api.models.associate_role.AssociateRole... inheritedAssociateRoles) {
+ this.inheritedAssociateRoles = new ArrayList<>(Arrays.asList(inheritedAssociateRoles));
+ }
+
+ public void setInheritedAssociateRoles(
+ final java.util.List inheritedAssociateRoles) {
+ this.inheritedAssociateRoles = inheritedAssociateRoles;
+ }
+
+ public void setPermissions(final com.commercetools.api.models.associate_role.Permission... permissions) {
+ this.permissions = new ArrayList<>(Arrays.asList(permissions));
+ }
+
+ public void setPermissions(
+ final java.util.List permissions) {
+ this.permissions = permissions;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ BusinessUnitAssociateResponseImpl that = (BusinessUnitAssociateResponseImpl) o;
+
+ return new EqualsBuilder().append(customer, that.customer)
+ .append(associateRoles, that.associateRoles)
+ .append(inheritedAssociateRoles, that.inheritedAssociateRoles)
+ .append(permissions, that.permissions)
+ .append(customer, that.customer)
+ .append(associateRoles, that.associateRoles)
+ .append(inheritedAssociateRoles, that.inheritedAssociateRoles)
+ .append(permissions, that.permissions)
+ .isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder(17, 37).append(customer)
+ .append(associateRoles)
+ .append(inheritedAssociateRoles)
+ .append(permissions)
+ .toHashCode();
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("customer", customer)
+ .append("associateRoles", associateRoles)
+ .append("inheritedAssociateRoles", inheritedAssociateRoles)
+ .append("permissions", permissions)
+ .build();
+ }
+
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/business_unit/BusinessUnitAssociateResponseQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/business_unit/BusinessUnitAssociateResponseQueryBuilderDsl.java
new file mode 100644
index 00000000000..58189d5d213
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/business_unit/BusinessUnitAssociateResponseQueryBuilderDsl.java
@@ -0,0 +1,64 @@
+
+package com.commercetools.api.predicates.query.business_unit;
+
+import java.util.function.Function;
+
+import com.commercetools.api.predicates.query.*;
+
+public class BusinessUnitAssociateResponseQueryBuilderDsl {
+ public BusinessUnitAssociateResponseQueryBuilderDsl() {
+ }
+
+ public static BusinessUnitAssociateResponseQueryBuilderDsl of() {
+ return new BusinessUnitAssociateResponseQueryBuilderDsl();
+ }
+
+ public CombinationQueryPredicate customer(
+ Function> fn) {
+ return new CombinationQueryPredicate<>(
+ ContainerQueryPredicate.of()
+ .parent(ConstantQueryPredicate.of().constant("customer"))
+ .inner(fn.apply(
+ com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl.of())),
+ BusinessUnitAssociateResponseQueryBuilderDsl::of);
+ }
+
+ public CombinationQueryPredicate associateRoles(
+ Function> fn) {
+ return new CombinationQueryPredicate<>(
+ ContainerQueryPredicate.of()
+ .parent(ConstantQueryPredicate.of().constant("associateRoles"))
+ .inner(fn.apply(
+ com.commercetools.api.predicates.query.associate_role.AssociateRoleQueryBuilderDsl.of())),
+ BusinessUnitAssociateResponseQueryBuilderDsl::of);
+ }
+
+ public CollectionPredicateBuilder associateRoles() {
+ return new CollectionPredicateBuilder<>(
+ BinaryQueryPredicate.of().left(new ConstantQueryPredicate("associateRoles")),
+ p -> new CombinationQueryPredicate<>(p, BusinessUnitAssociateResponseQueryBuilderDsl::of));
+ }
+
+ public CombinationQueryPredicate inheritedAssociateRoles(
+ Function> fn) {
+ return new CombinationQueryPredicate<>(
+ ContainerQueryPredicate.of()
+ .parent(ConstantQueryPredicate.of().constant("inheritedAssociateRoles"))
+ .inner(fn.apply(
+ com.commercetools.api.predicates.query.associate_role.AssociateRoleQueryBuilderDsl.of())),
+ BusinessUnitAssociateResponseQueryBuilderDsl::of);
+ }
+
+ public CollectionPredicateBuilder inheritedAssociateRoles() {
+ return new CollectionPredicateBuilder<>(
+ BinaryQueryPredicate.of().left(new ConstantQueryPredicate("inheritedAssociateRoles")),
+ p -> new CombinationQueryPredicate<>(p, BusinessUnitAssociateResponseQueryBuilderDsl::of));
+ }
+
+ public StringCollectionPredicateBuilder permissions() {
+ return new StringCollectionPredicateBuilder<>(
+ BinaryQueryPredicate.of().left(new ConstantQueryPredicate("permissions")),
+ p -> new CombinationQueryPredicate<>(p, BusinessUnitAssociateResponseQueryBuilderDsl::of));
+ }
+
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java
new file mode 100644
index 00000000000..c6b0c546c71
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java
@@ -0,0 +1,83 @@
+
+package com.commercetools.api.client.resource;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import com.commercetools.api.client.ApiRoot;
+import com.tngtech.junit.dataprovider.DataProvider;
+import com.tngtech.junit.dataprovider.DataProviderExtension;
+import com.tngtech.junit.dataprovider.UseDataProvider;
+import com.tngtech.junit.dataprovider.UseDataProviderExtension;
+
+import io.vrap.rmf.base.client.*;
+import io.vrap.rmf.base.client.ApiHttpClient;
+import io.vrap.rmf.base.client.ApiHttpRequest;
+import io.vrap.rmf.base.client.VrapHttpClient;
+import io.vrap.rmf.base.client.error.ApiClientException;
+import io.vrap.rmf.base.client.error.ApiServerException;
+import io.vrap.rmf.base.client.utils.Generated;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mockito;
+
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+@ExtendWith(UseDataProviderExtension.class)
+@ExtendWith(DataProviderExtension.class)
+public class ByProjectKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest {
+ private final VrapHttpClient httpClientMock = Mockito.mock(VrapHttpClient.class);
+ private final String projectKey = "test_projectKey";
+ private final static ApiRoot apiRoot = ApiRoot.of();
+ private final ApiHttpClient client = ClientBuilder.of(httpClientMock).defaultClient("").build();
+
+ @TestTemplate
+ @UseDataProvider("requestWithMethodParameters")
+ public void withMethods(ApiHttpRequest request, String httpMethod, String uri) {
+ Assertions.assertThat(httpMethod).isEqualTo(request.getMethod().name().toLowerCase());
+ Assertions.assertThat(uri).isEqualTo(request.getUri().toString());
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeServerException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(500, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiServerException.class);
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeClientException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(400, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiClientException.class);
+ }
+
+ @DataProvider
+ public static Object[][] requestWithMethodParameters() {
+ return new Object[][] { new Object[] {
+ apiRoot.withProjectKey("test_projectKey")
+ .businessUnits()
+ .withBusinessUnitIdValueAssociatesWithAssociateIdValue("test_businessUnitId",
+ "test_associateId")
+ .get()
+ .createHttpRequest(),
+ "get", "test_projectKey/business-units/test_businessUnitId/associates/test_associateId", } };
+ }
+
+ @DataProvider
+ public static Object[][] executeMethodParameters() {
+ return new Object[][] { new Object[] { apiRoot.withProjectKey("test_projectKey")
+ .businessUnits()
+ .withBusinessUnitIdValueAssociatesWithAssociateIdValue("test_businessUnitId", "test_associateId")
+ .get(), } };
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java
new file mode 100644
index 00000000000..d83e3c7ac9f
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java
@@ -0,0 +1,82 @@
+
+package com.commercetools.api.client.resource;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import com.commercetools.api.client.ApiRoot;
+import com.tngtech.junit.dataprovider.DataProvider;
+import com.tngtech.junit.dataprovider.DataProviderExtension;
+import com.tngtech.junit.dataprovider.UseDataProvider;
+import com.tngtech.junit.dataprovider.UseDataProviderExtension;
+
+import io.vrap.rmf.base.client.*;
+import io.vrap.rmf.base.client.ApiHttpClient;
+import io.vrap.rmf.base.client.ApiHttpRequest;
+import io.vrap.rmf.base.client.VrapHttpClient;
+import io.vrap.rmf.base.client.error.ApiClientException;
+import io.vrap.rmf.base.client.error.ApiServerException;
+import io.vrap.rmf.base.client.utils.Generated;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mockito;
+
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+@ExtendWith(UseDataProviderExtension.class)
+@ExtendWith(DataProviderExtension.class)
+public class ByProjectKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest {
+ private final VrapHttpClient httpClientMock = Mockito.mock(VrapHttpClient.class);
+ private final String projectKey = "test_projectKey";
+ private final static ApiRoot apiRoot = ApiRoot.of();
+ private final ApiHttpClient client = ClientBuilder.of(httpClientMock).defaultClient("").build();
+
+ @TestTemplate
+ @UseDataProvider("requestWithMethodParameters")
+ public void withMethods(ApiHttpRequest request, String httpMethod, String uri) {
+ Assertions.assertThat(httpMethod).isEqualTo(request.getMethod().name().toLowerCase());
+ Assertions.assertThat(uri).isEqualTo(request.getUri().toString());
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeServerException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(500, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiServerException.class);
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeClientException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(400, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiClientException.class);
+ }
+
+ @DataProvider
+ public static Object[][] requestWithMethodParameters() {
+ return new Object[][] { new Object[] {
+ apiRoot.withProjectKey("test_projectKey")
+ .businessUnits()
+ .keyWithKeyValueAssociatesWithAssociateIdValue("test_key", "test_associateId")
+ .get()
+ .createHttpRequest(),
+ "get", "test_projectKey/business-units/key=test_key/associates/test_associateId", } };
+ }
+
+ @DataProvider
+ public static Object[][] executeMethodParameters() {
+ return new Object[][] { new Object[] { apiRoot.withProjectKey("test_projectKey")
+ .businessUnits()
+ .keyWithKeyValueAssociatesWithAssociateIdValue("test_key", "test_associateId")
+ .get(), } };
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java
new file mode 100644
index 00000000000..e61ac347a59
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest.java
@@ -0,0 +1,86 @@
+
+package com.commercetools.api.client.resource;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import com.commercetools.api.client.ApiRoot;
+import com.tngtech.junit.dataprovider.DataProvider;
+import com.tngtech.junit.dataprovider.DataProviderExtension;
+import com.tngtech.junit.dataprovider.UseDataProvider;
+import com.tngtech.junit.dataprovider.UseDataProviderExtension;
+
+import io.vrap.rmf.base.client.*;
+import io.vrap.rmf.base.client.ApiHttpClient;
+import io.vrap.rmf.base.client.ApiHttpRequest;
+import io.vrap.rmf.base.client.VrapHttpClient;
+import io.vrap.rmf.base.client.error.ApiClientException;
+import io.vrap.rmf.base.client.error.ApiServerException;
+import io.vrap.rmf.base.client.utils.Generated;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mockito;
+
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+@ExtendWith(UseDataProviderExtension.class)
+@ExtendWith(DataProviderExtension.class)
+public class ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdTest {
+ private final VrapHttpClient httpClientMock = Mockito.mock(VrapHttpClient.class);
+ private final String projectKey = "test_projectKey";
+ private final static ApiRoot apiRoot = ApiRoot.of();
+ private final ApiHttpClient client = ClientBuilder.of(httpClientMock).defaultClient("").build();
+
+ @TestTemplate
+ @UseDataProvider("requestWithMethodParameters")
+ public void withMethods(ApiHttpRequest request, String httpMethod, String uri) {
+ Assertions.assertThat(httpMethod).isEqualTo(request.getMethod().name().toLowerCase());
+ Assertions.assertThat(uri).isEqualTo(request.getUri().toString());
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeServerException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(500, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiServerException.class);
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeClientException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(400, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiClientException.class);
+ }
+
+ @DataProvider
+ public static Object[][] requestWithMethodParameters() {
+ return new Object[][] { new Object[] {
+ apiRoot.withProjectKey("test_projectKey")
+ .inStoreKeyWithStoreKeyValue("test_storeKey")
+ .businessUnits()
+ .withBusinessUnitIdValueAssociatesWithAssociateIdValue("test_businessUnitId",
+ "test_associateId")
+ .get()
+ .createHttpRequest(),
+ "get",
+ "test_projectKey/in-store/key=test_storeKey/business-units/test_businessUnitId/associates/test_associateId", } };
+ }
+
+ @DataProvider
+ public static Object[][] executeMethodParameters() {
+ return new Object[][] { new Object[] { apiRoot.withProjectKey("test_projectKey")
+ .inStoreKeyWithStoreKeyValue("test_storeKey")
+ .businessUnits()
+ .withBusinessUnitIdValueAssociatesWithAssociateIdValue("test_businessUnitId", "test_associateId")
+ .get(), } };
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java
new file mode 100644
index 00000000000..26f47e83630
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/client/resource/ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest.java
@@ -0,0 +1,85 @@
+
+package com.commercetools.api.client.resource;
+
+import java.nio.charset.StandardCharsets;
+import java.util.concurrent.CompletableFuture;
+
+import com.commercetools.api.client.ApiRoot;
+import com.tngtech.junit.dataprovider.DataProvider;
+import com.tngtech.junit.dataprovider.DataProviderExtension;
+import com.tngtech.junit.dataprovider.UseDataProvider;
+import com.tngtech.junit.dataprovider.UseDataProviderExtension;
+
+import io.vrap.rmf.base.client.*;
+import io.vrap.rmf.base.client.ApiHttpClient;
+import io.vrap.rmf.base.client.ApiHttpRequest;
+import io.vrap.rmf.base.client.VrapHttpClient;
+import io.vrap.rmf.base.client.error.ApiClientException;
+import io.vrap.rmf.base.client.error.ApiServerException;
+import io.vrap.rmf.base.client.utils.Generated;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mockito;
+
+@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
+@ExtendWith(UseDataProviderExtension.class)
+@ExtendWith(DataProviderExtension.class)
+public class ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdTest {
+ private final VrapHttpClient httpClientMock = Mockito.mock(VrapHttpClient.class);
+ private final String projectKey = "test_projectKey";
+ private final static ApiRoot apiRoot = ApiRoot.of();
+ private final ApiHttpClient client = ClientBuilder.of(httpClientMock).defaultClient("").build();
+
+ @TestTemplate
+ @UseDataProvider("requestWithMethodParameters")
+ public void withMethods(ApiHttpRequest request, String httpMethod, String uri) {
+ Assertions.assertThat(httpMethod).isEqualTo(request.getMethod().name().toLowerCase());
+ Assertions.assertThat(uri).isEqualTo(request.getUri().toString());
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeServerException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(500, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiServerException.class);
+ }
+
+ @TestTemplate
+ @UseDataProvider("executeMethodParameters")
+ public void executeClientException(HttpRequestCommand> httpRequest) throws Exception {
+ Mockito.when(httpClientMock.execute(Mockito.any()))
+ .thenReturn(CompletableFuture.completedFuture(
+ new ApiHttpResponse<>(400, null, "".getBytes(StandardCharsets.UTF_8), "Oops!")));
+
+ Assertions.assertThatThrownBy(() -> client.execute(httpRequest).toCompletableFuture().get())
+ .hasCauseInstanceOf(ApiClientException.class);
+ }
+
+ @DataProvider
+ public static Object[][] requestWithMethodParameters() {
+ return new Object[][] { new Object[] {
+ apiRoot.withProjectKey("test_projectKey")
+ .inStoreKeyWithStoreKeyValue("test_storeKey")
+ .businessUnits()
+ .keyWithKeyValueAssociatesWithAssociateIdValue("test_key", "test_associateId")
+ .get()
+ .createHttpRequest(),
+ "get",
+ "test_projectKey/in-store/key=test_storeKey/business-units/key=test_key/associates/test_associateId", } };
+ }
+
+ @DataProvider
+ public static Object[][] executeMethodParameters() {
+ return new Object[][] { new Object[] { apiRoot.withProjectKey("test_projectKey")
+ .inStoreKeyWithStoreKeyValue("test_storeKey")
+ .businessUnits()
+ .keyWithKeyValueAssociatesWithAssociateIdValue("test_key", "test_associateId")
+ .get(), } };
+ }
+}
diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseTest.java
new file mode 100644
index 00000000000..812d3963e46
--- /dev/null
+++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/business_unit/BusinessUnitAssociateResponseTest.java
@@ -0,0 +1,80 @@
+
+package com.commercetools.api.models.business_unit;
+
+import java.util.Collections;
+
+import com.tngtech.junit.dataprovider.DataProvider;
+import com.tngtech.junit.dataprovider.DataProviderExtension;
+import com.tngtech.junit.dataprovider.UseDataProvider;
+import com.tngtech.junit.dataprovider.UseDataProviderExtension;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(UseDataProviderExtension.class)
+@ExtendWith(DataProviderExtension.class)
+public class BusinessUnitAssociateResponseTest {
+
+ @TestTemplate
+ @UseDataProvider("objectBuilder")
+ public void buildUnchecked(BusinessUnitAssociateResponseBuilder builder) {
+ BusinessUnitAssociateResponse businessUnitAssociateResponse = builder.buildUnchecked();
+ Assertions.assertThat(businessUnitAssociateResponse).isInstanceOf(BusinessUnitAssociateResponse.class);
+ }
+
+ @DataProvider
+ public static Object[][] objectBuilder() {
+ return new Object[][] {
+ new Object[] { BusinessUnitAssociateResponse.builder()
+ .customer(new com.commercetools.api.models.customer.CustomerReferenceImpl()) },
+ new Object[] { BusinessUnitAssociateResponse.builder()
+ .associateRoles(Collections
+ .singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl())) },
+ new Object[] { BusinessUnitAssociateResponse.builder()
+ .inheritedAssociateRoles(Collections
+ .singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl())) },
+ new Object[] { BusinessUnitAssociateResponse.builder()
+ .permissions(Collections.singletonList(
+ com.commercetools.api.models.associate_role.Permission.findEnum("AddChildUnits"))) } };
+ }
+
+ @Test
+ public void customer() {
+ BusinessUnitAssociateResponse value = BusinessUnitAssociateResponse.of();
+ value.setCustomer(new com.commercetools.api.models.customer.CustomerReferenceImpl());
+ Assertions.assertThat(value.getCustomer())
+ .isEqualTo(new com.commercetools.api.models.customer.CustomerReferenceImpl());
+ }
+
+ @Test
+ public void associateRoles() {
+ BusinessUnitAssociateResponse value = BusinessUnitAssociateResponse.of();
+ value.setAssociateRoles(
+ Collections.singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl()));
+ Assertions.assertThat(value.getAssociateRoles())
+ .isEqualTo(
+ Collections.singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl()));
+ }
+
+ @Test
+ public void inheritedAssociateRoles() {
+ BusinessUnitAssociateResponse value = BusinessUnitAssociateResponse.of();
+ value.setInheritedAssociateRoles(
+ Collections.singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl()));
+ Assertions.assertThat(value.getInheritedAssociateRoles())
+ .isEqualTo(
+ Collections.singletonList(new com.commercetools.api.models.associate_role.AssociateRoleImpl()));
+ }
+
+ @Test
+ public void permissions() {
+ BusinessUnitAssociateResponse value = BusinessUnitAssociateResponse.of();
+ value.setPermissions(Collections
+ .singletonList(com.commercetools.api.models.associate_role.Permission.findEnum("AddChildUnits")));
+ Assertions.assertThat(value.getPermissions())
+ .isEqualTo(Collections.singletonList(
+ com.commercetools.api.models.associate_role.Permission.findEnum("AddChildUnits")));
+ }
+}
diff --git a/references.txt b/references.txt
index 20be1ea4633..17d5e425dce 100644
--- a/references.txt
+++ b/references.txt
@@ -378,3 +378,4 @@ cf0f702598daf6d644ae327099b96b83f5539dfb
4c16ce73d5391802f2cf109581ac962749c027a5
5f1b9a7bef052b7f67754d4eccf9d18d139d53c1
054434149a1d2198bd77716c69dbdc13d84cfbb1
+bc499c5a4815716efc119199dd274dc72f538a36