Code generator for haskell-servant framework

This commit is contained in:
Masahiro Yamauchi
2016-01-31 20:20:19 +09:00
parent 3a2447634c
commit 4e3d94c005
35 changed files with 1795 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package io.swagger.codegen.haskell;
import io.swagger.codegen.AbstractOptionsTest;
import io.swagger.codegen.CodegenConfig;
import io.swagger.codegen.languages.HaskellServantCodegen;
import io.swagger.codegen.options.HaskellServantOptionsProvider;
import mockit.Expectations;
import mockit.Tested;
public class HaskellServantOptionsTest extends AbstractOptionsTest {
@Tested
private HaskellServantCodegen clientCodegen;
public HaskellServantOptionsTest() {
super(new HaskellServantOptionsProvider());
}
@Override
protected CodegenConfig getCodegenConfig() {
return clientCodegen;
}
@Override
protected void setExpectations() {
new Expectations(clientCodegen) {{
clientCodegen.setModelPackage(HaskellServantOptionsProvider.MODEL_PACKAGE_VALUE);
times = 1;
clientCodegen.setApiPackage(HaskellServantOptionsProvider.API_PACKAGE_VALUE);
times = 1;
clientCodegen.setSortParamsByRequiredFlag(Boolean.valueOf(HaskellServantOptionsProvider.SORT_PARAMS_VALUE));
times = 1;
}};
}
}

View File

@@ -0,0 +1,20 @@
package io.swagger.codegen.haskell;
import io.swagger.codegen.CodegenModel;
import io.swagger.codegen.CodegenOperation;
import io.swagger.codegen.DefaultCodegen;
import io.swagger.codegen.languages.HaskellServantCodegen;
import io.swagger.models.Operation;
import io.swagger.models.Swagger;
import io.swagger.parser.SwaggerParser;
import org.testng.Assert;
import org.testng.annotations.Test;
public class HaskellTest {
@Test(description = "convert a haskell model with dots")
public void modelTest() {
Assert.assertEquals(true, true);
}
}

View File

@@ -0,0 +1,34 @@
package io.swagger.codegen.options;
import io.swagger.codegen.CodegenConstants;
import com.google.common.collect.ImmutableMap;
import java.util.Map;
public class HaskellServantOptionsProvider implements OptionsProvider {
public static final String MODEL_PACKAGE_VALUE = "Model";
public static final String API_PACKAGE_VALUE = "Api";
public static final String SORT_PARAMS_VALUE = "false";
public static final String ENSURE_UNIQUE_PARAMS_VALUE = "true";
@Override
public String getLanguage() {
return "haskell";
}
@Override
public Map<String, String> createOptions() {
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<String, String>();
return builder.put(CodegenConstants.MODEL_PACKAGE, MODEL_PACKAGE_VALUE)
.put(CodegenConstants.API_PACKAGE, API_PACKAGE_VALUE)
.put(CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG, SORT_PARAMS_VALUE)
.put(CodegenConstants.ENSURE_UNIQUE_PARAMS, ENSURE_UNIQUE_PARAMS_VALUE)
.build();
}
@Override
public boolean isServer() {
return true;
}
}