Exemple #1
0
        public void CreateScriptMetaJson()
        {
            string destDir = FileHelper.GetTempDir();

            try
            {
                // Prepare running FileUpdater
                string srcScriptFile      = Path.Combine(TestSetup.WebRoot, "Updater", "Standalone", "PreserveInterface_r2.script");
                string workScriptFile     = Path.Combine(destDir, "PreserveInterface.script");
                string workScriptTreePath = Path.Combine("TestSuite", "Updater", "PreserveInterface.script");
                string destJson           = Path.Combine(destDir, "PreserveInterface_r2.meta.json");
                File.Copy(srcScriptFile, workScriptFile);

                Project p  = EngineTests.Project;
                Script  sc = p.LoadScriptRuntime(workScriptFile, workScriptTreePath, new LoadScriptRuntimeOptions
                {
                    AddToProjectTree       = true,
                    IgnoreMain             = false,
                    OverwriteToProjectTree = true,
                });

                // Create a script meta json
                UpdateJson.CreateScriptUpdateJson(sc, destJson);

                // Print metaJsonText (Log)
                string metaJsonText;
                using (StreamReader sr = new StreamReader(destJson, new UTF8Encoding(false), false))
                {
                    metaJsonText = sr.ReadToEnd();
                }
                Console.WriteLine(metaJsonText);

                // Check sanity of created script meta json
                ResultReport <UpdateJson.Root> readReport = UpdateJson.ReadUpdateJson(destJson);
                Assert.IsNotNull(readReport.Result);
                Assert.IsTrue(readReport.Success);
                UpdateJson.Root root = readReport.Result;

                ResultReport checkReport = root.Validate();
                Assert.IsTrue(readReport.Success);
            }
            finally
            {
                if (Directory.Exists(destDir))
                {
                    Directory.Delete(destDir, true);
                }
            }
        }