private List<ViewModel> createSmokeTestViews(ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> views = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); views.add(createSmokeTestClassView(context)); } return views.build(); }
private List<ViewModel> createSmokeTestViews(ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> views = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); views.add(createSmokeTestClassView(context, model.hasMultipleServices())); } return views.build(); }
private List<ApiMethodView> generateExampleMethods( ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ApiMethodView> exampleMethods = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); MethodModel method = interfaceConfig.getSmokeTestConfig().getMethod(); FlatteningConfig flatteningGroup = testCaseTransformer.getSmokeTestFlatteningGroup( context.getMethodConfig(method), interfaceConfig.getSmokeTestConfig()); GapicMethodContext flattenedMethodContext = context.asFlattenedMethodContext(method, flatteningGroup); exampleMethods.add(createExampleApiMethodView(flattenedMethodContext)); } return exampleMethods.build(); }
private List<ApiMethodView> generateExampleMethods( ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ApiMethodView> exampleMethods = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); MethodModel method = interfaceConfig.getSmokeTestConfig().getMethod(); FlatteningConfig flatteningGroup = testCaseTransformer.getSmokeTestFlatteningGroup( context.getMethodConfig(method), interfaceConfig.getSmokeTestConfig()); GapicMethodContext flattenedMethodContext = context.asFlattenedMethodContext(method, flatteningGroup); exampleMethods.add( createExampleApiMethodView(flattenedMethodContext, model.hasMultipleServices())); } return exampleMethods.build(); }
private List<ApiMethodView> generateExampleMethods( ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ApiMethodView> exampleMethods = ImmutableList.builder(); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); MethodModel method = interfaceConfig.getSmokeTestConfig().getMethod(); FlatteningConfig flatteningGroup = testCaseTransformer.getSmokeTestFlatteningGroup( context.getMethodConfig(method), interfaceConfig.getSmokeTestConfig()); GapicMethodContext flattenedMethodContext = context.asFlattenedMethodContext(method, flatteningGroup); exampleMethods.add( createExampleApiMethodView(flattenedMethodContext, model.hasMultipleServices())); } return exampleMethods.build(); }
private static boolean hasSmokeTestConfig(GapicProductConfig productConfig) { return productConfig .getInterfaceConfigMap() .values() .stream() .anyMatch(config -> config.getSmokeTestConfig() != null); } }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { GoSurfaceNamer namer = new GoSurfaceNamer(productConfig.getPackageName()); List<ViewModel> models = new ArrayList<ViewModel>(); models.add(generateMockServiceView(model, productConfig, namer)); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, GoGapicSurfaceTransformer.createTypeTable(), namer, featureConfig); models.add(createSmokeTestClassView(context)); } return models; }
private List<ViewModel> createSmokeTestViews(ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> models = ImmutableList.builder(); SurfaceNamer surfacePackageNamer = new PythonSurfaceNamer(productConfig.getPackageName()); SurfaceNamer testPackageNamer = new PythonSurfaceNamer(surfacePackageNamer.getTestPackageName()); for (InterfaceModel apiInterface : model.getInterfaces()) { InterfaceConfig interfaceConfig = productConfig.getInterfaceConfig(apiInterface); if (interfaceConfig == null || interfaceConfig.getSmokeTestConfig() == null) { continue; } ModelTypeTable typeTable = createTypeTable(surfacePackageNamer.getTestPackageName()); GapicInterfaceContext context = GapicInterfaceContext.create( apiInterface, productConfig, typeTable, surfacePackageNamer, featureConfig); models.add(createSmokeTestClassView(context, testPackageNamer)); } return models.build(); }
surfaceTransformer.createInterfaceContext(apiInterface, productConfig, namer, typeTable); views.add(createUnitTestFileView(context)); if (context.getInterfaceConfig().getSmokeTestConfig() != null) { context = surfaceTransformer.createInterfaceContext(
addSmokeTestImports(context); MethodModel method = context.getInterfaceConfig().getSmokeTestConfig().getMethod(); SurfaceNamer namer = context.getNamer(); context.getMethodConfig(method), context.getInterfaceConfig().getSmokeTestConfig()); MethodContext methodContext = context.asFlattenedMethodContext(method, flatteningGroup); if (FlatteningConfig.hasAnyRepeatedResourceNameParameter(flatteningGroup)) {
public InitCodeContext createSmokeTestInitContext(MethodContext context) { SmokeTestConfig testConfig = context.getInterfaceConfig().getSmokeTestConfig(); InitCodeContext.InitCodeOutputType outputType; ImmutableMap<String, FieldConfig> fieldConfigMap;
private SmokeTestClassView createSmokeTestClassView(InterfaceContext context) { SurfaceNamer namer = context.getNamer(); MethodModel method = context.getInterfaceConfig().getSmokeTestConfig().getMethod(); MethodContext methodContext = context.asRequestMethodContext(method); SmokeTestClassView.Builder testClass = SmokeTestClassView.newBuilder(); StaticLangApiMethodView apiMethodView = createSmokeTestCaseApiMethodView(methodContext); testClass.apiSettingsClassName(namer.getApiSettingsClassName(context.getInterfaceConfig())); testClass.apiClassName(namer.getApiWrapperClassName(context.getInterfaceConfig())); testClass.name(namer.getSmokeTestClassName(context.getInterfaceConfig())); testClass.outputPath( context.getProductConfig().getPackageName() + File.separator + method.getSimpleName() + "_smoke_test.go"); testClass.templateFileName(SMOKE_TEST_TEMPLATE_FILE); testClass.apiMethod(apiMethodView); testClass.requireProjectId( testCaseTransformer.requireProjectIdInSmokeTest( apiMethodView.initCode(), context.getNamer())); // The shared code above add imports both for input and output. // Since we use short decls, we don't need to import anything for output. context.getImportTypeTable().getImports().clear(); method.getAndSaveRequestTypeName(methodContext.getTypeTable(), methodContext.getNamer()); FileHeaderView fileHeader = fileHeaderTransformer.generateFileHeader(context); testClass.fileHeader(fileHeader); return testClass.build(); }