Example #1
0
        public void PublishTest(ApplePlatform platform, string runtimeIdentifiers)
        {
            var project = "MySimpleApp";

            Configuration.IgnoreIfIgnoredPlatform(platform);

            var project_path = GetProjectPath(project, runtimeIdentifiers, platform: platform, out var appPath);

            Clean(project_path);

            string packageExtension;
            string pathVariable;

            switch (platform)
            {
            case ApplePlatform.iOS:
            case ApplePlatform.TVOS:
                packageExtension = "ipa";
                pathVariable     = "IpaPackagePath";
                break;

            case ApplePlatform.MacCatalyst:
            case ApplePlatform.MacOSX:
                packageExtension = "pkg";
                pathVariable     = "PkgPackagePath";
                break;

            default:
                throw new ArgumentOutOfRangeException($"Unknown platform: {platform}");
            }
            var tmpdir  = Cache.CreateTemporaryDirectory();
            var pkgPath = Path.Combine(tmpdir, $"MyPackage.{packageExtension}");

            var properties = GetDefaultProperties(runtimeIdentifiers);

            properties [pathVariable] = pkgPath;

            DotNet.AssertPublish(project_path, properties);

            Assert.That(pkgPath, Does.Exist, "ipa/pkg creation");
        }