Exemplo n.º 1
0
        public void TestV3AddGeneratedClientCode_GeneratesCodeForv3_ForVB()
        {
            var serviceName         = "MyService";
            var referenceFolderPath = Path.Combine(TestProjectRootPath, ServicesRootFolder, serviceName);

            Directory.CreateDirectory(referenceFolderPath);
            Project project       = CreateTestProject(TestProjectRootPath, ODataT4CodeGenerator.LanguageOption.VB);
            var     serviceConfig = new ServiceConfiguration()
            {
                Endpoint = Path.Combine(Directory.GetCurrentDirectory(), "CodeGeneration", "SampleServiceV3.xml"),
                GeneratedFileNamePrefix = "Reference",
                EdmxVersion             = Common.Constants.EdmxVersion3
            };
            var serviceInstance = new ODataConnectedServiceInstance()
            {
                ServiceConfig = serviceConfig,
                Name          = serviceName
            };

            var handlerHelper = new TestConnectedServiceHandlerHelper();

            handlerHelper.ServicesRootFolder = ServicesRootFolder;
            ConnectedServiceHandlerContext context = new TestConnectedServiceHandlerContext(serviceInstance, handlerHelper);

            var descriptor = new TestV3CodeGenDescriptor(serviceConfig.Endpoint, context, project);

            descriptor.AddGeneratedClientCodeAsync().Wait();
            var addedFile     = handlerHelper.AddedFiles.FirstOrDefault();
            var generatedCode = File.ReadAllText(addedFile.SourceFile);
            var expectedCode  = GeneratedCodeHelpers.LoadReferenceContent("SampleServiceV3.vb");

            Assert.IsNotNull(addedFile);
            Assert.AreEqual(Path.Combine(TestProjectRootPath, ServicesRootFolder, serviceName, "Reference.vb"), addedFile.CreatedFile);
            GeneratedCodeHelpers.VerifyGeneratedCode(expectedCode, generatedCode);
        }
Exemplo n.º 2
0
        public void TestV3AddNugetPackageAsync_ShouldInstallODataLibrariesForV3()
        {
            var serviceName         = "MyService";
            var referenceFolderPath = Path.Combine(TestProjectRootPath, ServicesRootFolder, serviceName);

            Directory.CreateDirectory(referenceFolderPath);
            Project project       = CreateTestProject(TestProjectRootPath, ODataT4CodeGenerator.LanguageOption.CSharp);
            var     serviceConfig = new ServiceConfiguration()
            {
                EdmxVersion = Common.Constants.EdmxVersion3
            };
            var serviceInstance = new ODataConnectedServiceInstance()
            {
                ServiceConfig = serviceConfig,
                Name          = serviceName
            };

            var handlerHelper = new TestConnectedServiceHandlerHelper();

            handlerHelper.ServicesRootFolder = ServicesRootFolder;
            ConnectedServiceHandlerContext context = new TestConnectedServiceHandlerContext(serviceInstance, handlerHelper);

            var descriptor = new TestV3CodeGenDescriptor(serviceConfig.Endpoint ?? MetadataUri, context, project);

            descriptor.AddNugetPackagesAsync().Wait();
            var installer = descriptor.PackageInstaller as TestVsPackageInstaller;

            Assert.IsTrue(installer.InstalledPackages.Contains(Common.Constants.V3ClientNuGetPackage));
            Assert.IsTrue(installer.InstalledPackages.Contains(Common.Constants.V3EdmNuGetPackage));
            Assert.IsTrue(installer.InstalledPackages.Contains(Common.Constants.V3ODataNuGetPackage));
            Assert.IsTrue(installer.InstalledPackages.Contains(Common.Constants.V3SpatialNuGetPackage));
        }