Exemple #1
0
        public void Pack_Upload()
        {
            // Assemble
            CrmServiceClient crmSvc = new CrmServiceClient(ConfigurationManager.ConnectionStrings["integration_testing"].ConnectionString);
            var  userId             = crmSvc.GetMyCrmUserId();
            var  trace      = new TraceLogger();
            Guid id         = Guid.NewGuid();
            var  tempFolder = Path.Combine(Path.GetTempPath(), id.ToString());

            Directory.CreateDirectory(tempFolder);
            try
            {
                var config = new ConfigFile
                {
                    solutions = new List <SolutionPackageConfig> {
                        new SolutionPackageConfig {
                            solution_uniquename = "spkltestsolution",
                            packagepath         = "packager",
                            increment_on_import = true
                        }
                    },
                    filePath = tempFolder
                };
                // Create packaging task
                var task = new SolutionPackagerTask(crmSvc, trace);
                using (var ctx = new OrganizationServiceContext(crmSvc))
                {
                    ctx.MergeOption = MergeOption.NoTracking;
                    task.UnPack(ctx, config);

                    // Get current solution version
                    var version = task.GetSolution("spkltestsolution").Version;
                    task.Pack(ctx, config, true);
                    var versionAfterUpload = task.GetSolution("spkltestsolution").Version;
                    Assert.AreNotEqual(version, versionAfterUpload, "Version incremented");
                }
            }
            finally
            {
                Directory.Delete(tempFolder, true);
            }
        }