public void GivenProjectFileOrFolderPath_ItFindsAllAbiFilesInProjectFolder(PathType pathType) { //given var factory = new GeneratorConfigurationFactory(); var context = new ProjectTestContext(this.GetType().Name, MethodBase.GetCurrentMethod().Name + "_" + pathType.ToString()); try { context.CreateProject(); context.WriteFileToProject("StandardContract.abi", TestContracts.StandardContract.ABI); context.WriteFileToProject("StandardContract.bin", TestContracts.StandardContract.ByteCode); //when var path = pathType == PathType.FolderAndFile ? context.ProjectFilePath : context.TargetProjectFolder; var config = factory.FromProject(path, context.OutputAssemblyName); //then var abiConfig = config.ElementAt(0); Assert.NotNull(abiConfig); Assert.Equal(CodeGenLanguage.CSharp, abiConfig.CodeGenLanguage); Assert.Equal("StandardContract", abiConfig.ContractName); Assert.Equal(JsonConvert.SerializeObject(TestContracts.StandardContract.GetContractAbi()), JsonConvert.SerializeObject(abiConfig.ContractABI)); Assert.Equal(TestContracts.StandardContract.ByteCode, abiConfig.ByteCode); Assert.Equal(context.TargetProjectFolder, abiConfig.BaseOutputPath); Assert.Equal(Path.GetFileNameWithoutExtension(context.OutputAssemblyName), abiConfig.BaseNamespace); Assert.Equal("StandardContract.CQS", abiConfig.CQSNamespace); Assert.Equal("StandardContract.DTO", abiConfig.DTONamespace); Assert.Equal("StandardContract.Service", abiConfig.ServiceNamespace); } finally { context.CleanUp(); } }
public void GivenRelativeAbiFilePathInProject() { //given var factory = new GeneratorConfigurationFactory(); var context = new ProjectTestContext(this.GetType().Name, MethodBase.GetCurrentMethod().Name); try { context.CreateProject(); context.WriteFileToProject("solidity\\StandardContract.abi", TestContracts.StandardContract.ABI); context.WriteFileToProject("solidity\\StandardContract.bin", TestContracts.StandardContract.ByteCode); var generatorConfig = new ABICollectionConfiguration { ABIConfigurations = new List <ABIConfiguration> { new ABIConfiguration { ContractName = "StandardContractA", ABIFile = "solidity\\StandardContract.abi", BaseOutputPath = context.TargetProjectFolder } } }; generatorConfig.SaveToJson(context.TargetProjectFolder); //when var config = factory.FromProject(context.TargetProjectFolder, context.OutputAssemblyName).ToList(); //then Assert.Equal(1, config.Count); var abiConfig = config.ElementAt(0); Assert.NotNull(abiConfig); Assert.Equal(CodeGenLanguage.CSharp, abiConfig.CodeGenLanguage); Assert.Equal("StandardContractA", abiConfig.ContractName); Assert.Equal(JsonConvert.SerializeObject(TestContracts.StandardContract.GetContractAbi()), JsonConvert.SerializeObject(abiConfig.ContractABI)); Assert.Equal(TestContracts.StandardContract.ByteCode, abiConfig.ByteCode); Assert.Equal(context.TargetProjectFolder, abiConfig.BaseOutputPath); Assert.Equal(Path.GetFileNameWithoutExtension(context.OutputAssemblyName), abiConfig.BaseNamespace); Assert.Equal("StandardContractA.CQS", abiConfig.CQSNamespace); Assert.Equal("StandardContractA.DTO", abiConfig.DTONamespace); Assert.Equal("StandardContractA.Service", abiConfig.ServiceNamespace); } finally { context.CleanUp(); } }
private static void GenerateCode(string projectPath, string assemblyName) { var codeGenConfigurationFactory = new GeneratorConfigurationFactory(); var config = codeGenConfigurationFactory.FromProject(projectPath, assemblyName); if (config?.ABIConfigurations == null) { return; } foreach (var item in config.ABIConfigurations) { GenerateFilesForItem(item); } }
public void GivenRelativeAbiPathInProjectParent() { //given var factory = new GeneratorConfigurationFactory(); var context = new ProjectTestContext(this.GetType().Name, MethodBase.GetCurrentMethod().Name); try { context.CreateProject(); context.WriteFileToProject("..\\StandardContract.abi", TestContracts.StandardContract.ABI); var generatorConfig = new ABICollectionConfiguration { ABIConfigurations = new List <ABIConfiguration> { new ABIConfiguration { ContractName = "StandardContractA", ABIFile = "..\\StandardContract.abi", BaseOutputPath = context.TargetProjectFolder } } }; generatorConfig.SaveToJson(context.TargetProjectFolder); //when var config = factory.FromProject(context.TargetProjectFolder, context.OutputAssemblyName).ToList(); //then Assert.Equal(1, config.Count); var abiConfig = config.First(); Assert.NotNull(abiConfig); Assert.Equal(CodeGenLanguage.CSharp, abiConfig.CodeGenLanguage); Assert.Equal("StandardContractA", abiConfig.ContractName); Assert.Equal(JsonConvert.SerializeObject(TestContracts.StandardContract.GetContractAbi()), JsonConvert.SerializeObject(abiConfig.ContractABI)); } finally { context.CleanUp(); } }