Skip to content

Commit

Permalink
test(openapi): comprehensive tests for openapi-model-generator-maven-…
Browse files Browse the repository at this point in the history
…plugin

Signed-off-by: Marc Nuri <[email protected]>
  • Loading branch information
manusa authored Oct 29, 2024
1 parent ed694c4 commit 75d30c7
Show file tree
Hide file tree
Showing 13 changed files with 956 additions and 17 deletions.
5 changes: 5 additions & 0 deletions kubernetes-model-generator/openapi/maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@
<artifactId>swagger-parser</artifactId>
<version>2.1.23</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

package io.fabric8.istio.api.api.networking.v1alpha3;

import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonTypeResolver;
import io.fabric8.kubernetes.api.model.KubernetesResource;

@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonTypeResolver(io.fabric8.kubernetes.model.jackson.UnwrappedTypeResolverBuilder.class)
@JsonSubTypes({
@JsonSubTypes.Type(EnvoyFilterEnvoyConfigObjectMatchCluster.class),
@JsonSubTypes.Type(EnvoyFilterEnvoyConfigObjectMatchListener.class),
@JsonSubTypes.Type(EnvoyFilterEnvoyConfigObjectMatchRouteConfiguration.class),
})
@JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION)
@Generated("jsonschema2pojo")
public interface IsEnvoyFilterEnvoyConfigObjectMatchObjectTypes extends KubernetesResource
{



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

package io.fabric8.istio.api.api.networking.v1alpha3;

import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonTypeResolver;
import io.fabric8.kubernetes.api.model.KubernetesResource;

@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonTypeResolver(io.fabric8.kubernetes.model.jackson.UnwrappedTypeResolverBuilder.class)
@JsonSubTypes({
@JsonSubTypes.Type(LoadBalancerSettingsConsistentHash.class),
@JsonSubTypes.Type(LoadBalancerSettingsSimple.class),
})
@JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION)
@Generated("jsonschema2pojo")
public interface IsLoadBalancerSettingsLbPolicy extends KubernetesResource
{



}
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@

package io.fabric8.istio.api.api.networking.v1alpha3;

import java.util.LinkedHashMap;
import java.util.Map;
import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.fabric8.kubernetes.api.builder.Editable;
import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.ContainerPort;
import io.fabric8.kubernetes.api.model.EnvVar;
import io.fabric8.kubernetes.api.model.IntOrString;
import io.fabric8.kubernetes.api.model.KubernetesResource;
import io.fabric8.kubernetes.api.model.LabelSelector;
import io.fabric8.kubernetes.api.model.LocalObjectReference;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.api.model.ObjectReference;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import io.fabric8.kubernetes.api.model.ResourceRequirements;
import io.fabric8.kubernetes.api.model.Volume;
import io.fabric8.kubernetes.api.model.VolumeMount;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.BuildableReference;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

@JsonDeserialize(using = io.fabric8.kubernetes.model.jackson.JsonUnwrappedDeserializer.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"LbPolicy",
"localityLbSetting",
"warmupDurationSecs"
})
@ToString
@EqualsAndHashCode
@Accessors(prefix = {
"_",
""
})
@Buildable(editableEnabled = false, validationEnabled = false, generateBuilderPackage = false, lazyCollectionInitEnabled = false, builderPackage = "io.fabric8.kubernetes.api.builder", refs = {
@BuildableReference(ObjectMeta.class),
@BuildableReference(LabelSelector.class),
@BuildableReference(Container.class),
@BuildableReference(PodTemplateSpec.class),
@BuildableReference(ResourceRequirements.class),
@BuildableReference(IntOrString.class),
@BuildableReference(ObjectReference.class),
@BuildableReference(LocalObjectReference.class),
@BuildableReference(PersistentVolumeClaim.class),
@BuildableReference(EnvVar.class),
@BuildableReference(ContainerPort.class),
@BuildableReference(Volume.class),
@BuildableReference(VolumeMount.class)
})
@Generated("jsonschema2pojo")
public class LoadBalancerSettings implements Editable<LoadBalancerSettingsBuilder> , KubernetesResource
{

@JsonProperty("LbPolicy")
@JsonUnwrapped
private IsLoadBalancerSettingsLbPolicy lbPolicy;
@JsonProperty("localityLbSetting")
private LocalityLoadBalancerSetting localityLbSetting;
@JsonProperty("warmupDurationSecs")
private String warmupDurationSecs;
@JsonIgnore
private Map<String, Object> additionalProperties = new LinkedHashMap<String, Object>();

/**
* No args constructor for use in serialization
*
*/
public LoadBalancerSettings() {
}

public LoadBalancerSettings(IsLoadBalancerSettingsLbPolicy lbPolicy, LocalityLoadBalancerSetting localityLbSetting, String warmupDurationSecs) {
super();
this.lbPolicy = lbPolicy;
this.localityLbSetting = localityLbSetting;
this.warmupDurationSecs = warmupDurationSecs;
}

@JsonProperty("LbPolicy")
@JsonUnwrapped
public IsLoadBalancerSettingsLbPolicy getLbPolicy() {
return lbPolicy;
}

@JsonProperty("LbPolicy")
public void setLbPolicy(IsLoadBalancerSettingsLbPolicy lbPolicy) {
this.lbPolicy = lbPolicy;
}

@JsonProperty("localityLbSetting")
public LocalityLoadBalancerSetting getLocalityLbSetting() {
return localityLbSetting;
}

@JsonProperty("localityLbSetting")
public void setLocalityLbSetting(LocalityLoadBalancerSetting localityLbSetting) {
this.localityLbSetting = localityLbSetting;
}

@JsonProperty("warmupDurationSecs")
public String getWarmupDurationSecs() {
return warmupDurationSecs;
}

@JsonProperty("warmupDurationSecs")
public void setWarmupDurationSecs(String warmupDurationSecs) {
this.warmupDurationSecs = warmupDurationSecs;
}

@JsonIgnore
public LoadBalancerSettingsBuilder edit() {
return new LoadBalancerSettingsBuilder(this);
}

@JsonIgnore
public LoadBalancerSettingsBuilder toBuilder() {
return edit();
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

public void setAdditionalProperties(Map<String, Object> additionalProperties) {
this.additionalProperties = additionalProperties;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@

package io.fabric8.istio.api.api.networking.v1alpha3;

import java.util.LinkedHashMap;
import java.util.Map;
import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.fabric8.kubernetes.api.builder.Editable;
import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.ContainerPort;
import io.fabric8.kubernetes.api.model.EnvVar;
import io.fabric8.kubernetes.api.model.IntOrString;
import io.fabric8.kubernetes.api.model.KubernetesResource;
import io.fabric8.kubernetes.api.model.LabelSelector;
import io.fabric8.kubernetes.api.model.LocalObjectReference;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.api.model.ObjectReference;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import io.fabric8.kubernetes.api.model.ResourceRequirements;
import io.fabric8.kubernetes.api.model.Volume;
import io.fabric8.kubernetes.api.model.VolumeMount;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.BuildableReference;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"consistentHash"
})
@ToString
@EqualsAndHashCode
@Accessors(prefix = {
"_",
""
})
@Buildable(editableEnabled = false, validationEnabled = false, generateBuilderPackage = false, lazyCollectionInitEnabled = false, builderPackage = "io.fabric8.kubernetes.api.builder", refs = {
@BuildableReference(ObjectMeta.class),
@BuildableReference(LabelSelector.class),
@BuildableReference(Container.class),
@BuildableReference(PodTemplateSpec.class),
@BuildableReference(ResourceRequirements.class),
@BuildableReference(IntOrString.class),
@BuildableReference(ObjectReference.class),
@BuildableReference(LocalObjectReference.class),
@BuildableReference(PersistentVolumeClaim.class),
@BuildableReference(EnvVar.class),
@BuildableReference(ContainerPort.class),
@BuildableReference(Volume.class),
@BuildableReference(VolumeMount.class)
})
@Generated("jsonschema2pojo")
public class LoadBalancerSettingsConsistentHash implements IsLoadBalancerSettingsLbPolicy, Editable<LoadBalancerSettingsConsistentHashBuilder> , KubernetesResource
{

@JsonProperty("consistentHash")
private LoadBalancerSettingsConsistentHashLB consistentHash;
@JsonIgnore
private Map<String, Object> additionalProperties = new LinkedHashMap<String, Object>();

/**
* No args constructor for use in serialization
*
*/
public LoadBalancerSettingsConsistentHash() {
}

public LoadBalancerSettingsConsistentHash(LoadBalancerSettingsConsistentHashLB consistentHash) {
super();
this.consistentHash = consistentHash;
}

@JsonProperty("consistentHash")
public LoadBalancerSettingsConsistentHashLB getConsistentHash() {
return consistentHash;
}

@JsonProperty("consistentHash")
public void setConsistentHash(LoadBalancerSettingsConsistentHashLB consistentHash) {
this.consistentHash = consistentHash;
}

@JsonIgnore
public LoadBalancerSettingsConsistentHashBuilder edit() {
return new LoadBalancerSettingsConsistentHashBuilder(this);
}

@JsonIgnore
public LoadBalancerSettingsConsistentHashBuilder toBuilder() {
return edit();
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

public void setAdditionalProperties(Map<String, Object> additionalProperties) {
this.additionalProperties = additionalProperties;
}

}
Loading

0 comments on commit 75d30c7

Please sign in to comment.