Exemplo n.º 1
0
        private static void startTheEnvironment(IList <LogEntry> list, IEnvironment environment, params Action <IInstaller, IPackageLog>[] actions)
        {
            var log = new PackageLog();

            try
            {
                var installers = environment.StartUp(log);

                // This needs to happen regardless, but we want these logs put in before
                // logs for the installers, so we don't do it in the finally{}
                AddPackagingLogEntries(list);

                executeInstallers(list, installers, actions);
            }
            catch (Exception ex)
            {
                AddPackagingLogEntries(list);
                log.MarkFailure(ex.ToString());
            }
            finally
            {
                list.Add(LogEntry.FromPackageLog(environment, log));
                environment.SafeDispose();
            }
        }
Exemplo n.º 2
0
        private static void startTheEnvironment(IList<LogEntry> list, IEnvironment environment, params Action<IInstaller, IPackageLog>[] actions)
        {
            var log = new PackageLog();

            try
            {
                var installers = environment.StartUp(log);

                // This needs to happen regardless, but we want these logs put in before
                // logs for the installers, so we don't do it in the finally{}
                AddPackagingLogEntries(list);

                executeInstallers(list, installers, actions);

            }
            catch (Exception ex)
            {
                AddPackagingLogEntries(list);
                log.MarkFailure(ex.ToString());
            }
            finally
            {
                list.Add(LogEntry.FromPackageLog(environment, log));
                environment.SafeDispose();
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Called after Import completes.
        /// </summary>
        /// <returns></returns>
        public override bool AfterPrimaryImport()
        {
            LogStart("AfterPrimaryImport");
            PackageLog.Log("Running AfterPrimaryImport");
            // Verify Connection
            if (CrmSvc == null || !CrmSvc.IsReady)
            {
                PackageLog.Log("Error: Not connected to crm service.", TraceEventType.Critical);
                LogEnd("AfterPrimaryImport");
                return(false);
            }

            // Log Version
            var version = CrmSvc.ConnectedOrgVersion;

            PackageLog.Log($"Connected CRM Version: {version}", TraceEventType.Information);

            // Queue Items
            QueueItems.AddToQueue(PackageLog, CrmSvc, GetImportPackageDataFolderPath("queueitems.json"));

            // Enable all the steps in the plugin assembly
            EnablePluginSteps();

            LogEnd("AfterPrimaryImport");
            return(true);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Called after Import completes.
        /// </summary>
        /// <returns></returns>
        public override bool AfterPrimaryImport()
        {
            try
            {
                var success = true;
                foreach (var deployment in _solutionDeployments)
                {
                    if (!success)
                    {
                        break;
                    }

                    success = deployment.AfterPrimaryImport();
                }

                return(success);
            }
            catch (Exception ex)
            {
                PackageLog.Log($"Exception: {ex}");

                RaiseFailEvent(ex.Message, ex);
                return(false);
            }
        }
Exemplo n.º 5
0
        private void dispose()
        {
            if (_disposed) return;

            _disposed = true;

            var deactivators = _factory.GetAll<IDeactivator>().ToArray();
            var log = new PackageLog();

            deactivators.Each(x => {
                try
                {
                    log.Trace("Running " + x);
                    x.Deactivate(log);
                }
                catch (Exception e)
                {
                    log.MarkFailure(e);
                }
            });

            Facility.Shutdown();

            Console.WriteLine(log.FullTraceText());
        }
Exemplo n.º 6
0
        private void SetUpPermissions()
        {
            if (GetExistingUser() == null)
            {
                var roleId     = GetRoleId();
                var privileges = GetPrivilegeRecords();

                var addPrivilegesRoleRequest = new AddPrivilegesRoleRequest
                {
                    RoleId     = roleId,
                    Privileges =
                        (
                            from p in privileges
                            select new RolePrivilege(RequiredPrivileges[(string)p.Value["name"]], (Guid)p.Value["privilegeid"], BusinessUnitId.Value)
                        ).ToArray()
                };
                CrmSvc.ExecuteCrmOrganizationRequest(addPrivilegesRoleRequest);

                var user = CreateProposalManagerUser();
                PackageLog.Log("User created...");
                PackageLog.Log(user.ToString());

                CrmSvc.Associate(
                    "systemuser",
                    user,
                    new Relationship("systemuserroles_association"),
                    new EntityReferenceCollection {
                    new EntityReference("role", roleId)
                });
            }
        }
Exemplo n.º 7
0
        public void explode_files()
        {
            new FileSystem().DeleteDirectory("exploded");

            var packageLog = new PackageLog();

            theRepository.ExplodeFiles(new BottleExplosionRequest(packageLog)
            {
                BottleDirectory      = "Config",
                BottleName           = "Fake",
                DestinationDirectory = FileSystem.Combine("exploded", "config")
            });

            packageLog.FullTraceText().ShouldContain("1.config");
            packageLog.FullTraceText().ShouldContain("2.config");
            packageLog.FullTraceText().ShouldContain("3.config");
            packageLog.FullTraceText().ShouldContain(FileSystem.Combine("a", "1.config"));
            packageLog.FullTraceText().ShouldContain(FileSystem.Combine("a", "2.config"));

            new FileSystem().FindFiles(FileSystem.Combine("exploded", "Config"), new FileSet {
                DeepSearch = true,
                Include    = "*.*"
            }).Select(x => Path.GetFileName(x)).ShouldHaveTheSameElementsAs("1.config", "2.config", "3.config",
                                                                            "1.config", "2.config");
        }
        /// <summary>
        /// Called When the package is initialized.
        /// </summary>
        public override void InitializeCustomExtension()
        {
            if (RuntimeSettings != null)
            {
                PackageLog.Log(string.Format("Runtime Settings populated.  Count = {0}", RuntimeSettings.Count));
                foreach (var setting in RuntimeSettings)
                {
                    PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString()));
                }

                if (RuntimeSettings.ContainsKey("SkipSampleData"))
                {
                    bool sample = false;
                    if (bool.TryParse((string)RuntimeSettings["SkipSampleData"], out sample))
                    {
                        DataImportBypass = sample;
                    }
                }
            }
            else
            {
                // Skip sample data by default
                DataImportBypass = true;
            }
        }
Exemplo n.º 9
0
        public void finds_the_services()
        {
            var log        = new PackageLog();
            var theService = new BottleService(new StubService(), log);
            var services   = BottleServiceFinder.Find(theAssemblies, log);

            services.ShouldHaveTheSameElementsAs(theService);
        }
        public void finds_the_services()
        {
            var log = new PackageLog();
            var theService = new BottleService(new StubService(), log);
            var services = BottleServiceFinder.Find(theAssemblies, log);

            services.ShouldHaveTheSameElementsAs(theService);
        }
Exemplo n.º 11
0
 public static LogEntry FromPackageLog(object target, PackageLog log)
 {
     return new LogEntry(){
         Description = target.ToString(),
         Success = log.Success,
         TraceText = log.FullTraceText().Trim(),
         TimeInMilliseconds = log.TimeInMilliseconds
     };
 }
Exemplo n.º 12
0
        public static PackageLogListItemViewModel ToListItemViewModel(this PackageLog source)
        {
            var destination = new PackageLogListItemViewModel();

            destination.PackageId  = source.PackageId;
            destination.LogMessage = source.LogMessage;
            destination.LoggedAt   = source.LoggedAt;

            return(destination);
        }
        public void SetUp()
        {
            Directory.GetFiles(".", "*.script.config").Each(x => File.Delete(x));


            assets    = new AssetGraph();
            activator = new AssetGraphConfigurationActivator(assets, new FileSystem(), new AssetLogsCache());

            log = new PackageLog();
        }
Exemplo n.º 14
0
 public static LogEntry FromPackageLog(object target, PackageLog log)
 {
     return(new LogEntry()
     {
         Description = target.ToString(),
         Success = log.Success,
         TraceText = log.FullTraceText().Trim(),
         TimeInMilliseconds = log.TimeInMilliseconds
     });
 }
Exemplo n.º 15
0
        public async Task <IActionResult> Dispatch(int id, DispatchViewModel model)
        {
            if (!HasPermission("DISPATCH"))
            {
                return(Unauthorized());
            }

            var booking = await _context.Bookings
                          .Include(b => b.Customer)
                          .Include(b => b.Invoice)
                          .Include(b => b.Package)
                          .Include(b => b.Package.PackageType)
                          .Include(b => b.Package.PackageLogs)
                          .Include(b => b.Service)
                          .SingleAsync(m => m.Id == id);

            if (booking == null)
            {
                return(NotFound());
            }

            int userId = GetCurrentUserId();

            if (ModelState.IsValid)
            {
                booking.Package.AssignedToUserId = model.UserId;

                //XXX:TODO Fix when couriers are able to receive packages to their personal inventory
                // Update status to OutForDelivery when the courier has confirmed receipt of the package
                // For now, set as out for delivery when package is dispatched to courier
                //booking.Package.Status = PackageStatus.DispatchedToCourier;
                booking.Package.Status = PackageStatus.OutForDelivery;

                var packageLog = new PackageLog()
                {
                    PackageId = booking.Package.BookingId,
                    //XXX:TODO See comment above
                    //LogMessage = "Dispatched To Courier",
                    LogMessage = string.Format("Received By Courier {0}.", model.UserId),
                    LoggedAt   = DateTime.Now
                };

                booking.Package.PackageLogs.Add(packageLog);

                _context.Update(booking);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Bookings", new { id = booking.Id }));
            }

            ViewData["UserId"] = new SelectList(_context.Users, "Id", "UserName");

            return(View(model));
        }
Exemplo n.º 16
0
        public void from_package_log_successful()
        {
            var packageLog = new PackageLog();
            packageLog.Trace("some stuff");
            packageLog.Success.ShouldBeTrue();

            var log = LogEntry.FromPackageLog(this, packageLog);
            log.Success.ShouldBeTrue();
            log.TraceText.ShouldEqual(packageLog.FullTraceText().Trim());
            log.Description.ShouldEqual(this.ToString());
        }
Exemplo n.º 17
0
        public void from_package_log_failure()
        {
            var packageLog = new PackageLog();
            packageLog.Trace("some stuff");
            packageLog.MarkFailure("it broke");
            packageLog.Success.ShouldBeFalse();

            var log = LogEntry.FromPackageLog(this, packageLog);
            log.Success.ShouldBeFalse();
            log.TraceText.ShouldEqual(packageLog.FullTraceText().Trim());
            log.Description.ShouldEqual(this.ToString());
        }
Exemplo n.º 18
0
        public void negative_test()
        {
            var log = new PackageLog();

            var file        = Guid.NewGuid().ToString() + ".txt";
            var requirement = new FileExists(file);

            requirement.Check(log);

            log.Success.ShouldBeFalse();
            log.FullTraceText().ShouldContain("File '{0}' does not exist!".ToFormat(file));
        }
        public void SetUp()
        {
            thePolicies = new ITransformerPolicy[] {
                new GlobalTransformerPolicy <CoffeeTransformer>(MimeType.Javascript, BatchBehavior.NoBatching, ".coffee"),
                new JavascriptTransformerPolicy <StubTransformer>(ActionType.Transformation, ".a", ".b"),
                new CssTransformerPolicy <ATransformer>(ActionType.Substitution, ".c", ".d")
            };

            theLog = new PackageLog();

            new MimetypeRegistrationActivator(thePolicies).Activate(new IPackageInfo[0], theLog);
        }
Exemplo n.º 20
0
        public void negative_test()
        {
            var log = new PackageLog();

            var folder = Guid.NewGuid().ToString();
            var requirement = new FolderExists(folder);

            requirement.Check(log);

            log.Success.ShouldBeFalse();
            log.FullTraceText().ShouldContain("Folder '{0}' does not exist!".ToFormat(folder));
        }
        public void SetUp()
        {
            thePolicies = new ITransformerPolicy[]{
                new GlobalTransformerPolicy<CoffeeTransformer>(MimeType.Javascript, BatchBehavior.NoBatching, ".coffee"),
                new JavascriptTransformerPolicy<StubTransformer>(ActionType.Transformation, ".a", ".b"),
                new CssTransformerPolicy<ATransformer>(ActionType.Substitution, ".c", ".d")
            };

            theLog = new PackageLog();

            new MimetypeRegistrationActivator(thePolicies).Activate(new IPackageInfo[0],theLog);
        }
Exemplo n.º 22
0
        public void positive_test()
        {
            new FileSystem().WriteStringToFile("file.txt", "anything");

            var log = new PackageLog();

            var requirement = new FileExists("file.txt");

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("File 'file.txt' exists");
        }
Exemplo n.º 23
0
        public void positive_test()
        {
            new FileSystem().CreateDirectory("foo");

            var log = new PackageLog();

            var requirement = new FolderExists("foo");

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("Folder 'foo' exists");
        }
Exemplo n.º 24
0
        public void write_trace()
        {
            var log = new PackageLog();
            log.FullTraceText().ShouldBeEmpty();

            log.Trace("stuff");
            log.Trace("other");
            log.Trace("new");

            log.FullTraceText().ShouldContain("stuff");
            log.FullTraceText().ShouldContain("other");
            log.FullTraceText().ShouldContain("new");
        }
Exemplo n.º 25
0
        public void positive_test()
        {
            new FileSystem().CreateDirectory("foo");

            var log = new PackageLog();

            var requirement = new FolderExists("foo");

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("Folder 'foo' exists");
        }
Exemplo n.º 26
0
        public void positive_test()
        {
            new FileSystem().WriteStringToFile("file.txt", "anything");

            var log = new PackageLog();

            var requirement = new FileExists("file.txt");

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("File 'file.txt' exists");
        }
Exemplo n.º 27
0
        public void from_package_log_successful()
        {
            var packageLog = new PackageLog();

            packageLog.Trace("some stuff");
            packageLog.Success.ShouldBeTrue();

            var log = LogEntry.FromPackageLog(this, packageLog);

            log.Success.ShouldBeTrue();
            log.TraceText.ShouldEqual(packageLog.FullTraceText().Trim());
            log.Description.ShouldEqual(this.ToString());
        }
Exemplo n.º 28
0
        public void assert_mandatory_success_with_failures_of_negative_number_error_code()
        {
            var procReturn = new ProcessReturn()
            {
                ExitCode = -532462766,
                OutputText = "something"
            };

            var log = new PackageLog();
            LogWriter.WithLog(log, procReturn.AssertMandatorySuccess);

            log.FullTraceText().ShouldEqual(procReturn.OutputText + System.Environment.NewLine);
            log.Success.ShouldBeFalse();
        }
Exemplo n.º 29
0
        public void from_package_log_failure()
        {
            var packageLog = new PackageLog();

            packageLog.Trace("some stuff");
            packageLog.MarkFailure("it broke");
            packageLog.Success.ShouldBeFalse();

            var log = LogEntry.FromPackageLog(this, packageLog);

            log.Success.ShouldBeFalse();
            log.TraceText.ShouldEqual(packageLog.FullTraceText().Trim());
            log.Description.ShouldEqual(this.ToString());
        }
Exemplo n.º 30
0
        public void write_trace()
        {
            var log = new PackageLog();

            log.FullTraceText().ShouldBeEmpty();

            log.Trace("stuff");
            log.Trace("other");
            log.Trace("new");

            log.FullTraceText().ShouldContain("stuff");
            log.FullTraceText().ShouldContain("other");
            log.FullTraceText().ShouldContain("new");
        }
Exemplo n.º 31
0
        public async Task <IActionResult> Deliver(int id, DeliverViewModel model)
        {
            if (!HasPermission("DELIVER"))
            {
                return(Unauthorized());
            }

            var booking = await _context.Bookings
                          .Include(b => b.Customer)
                          .Include(b => b.Invoice)
                          .Include(b => b.Package)
                          .Include(b => b.Package.PackageType)
                          .Include(b => b.Package.PackageLogs)
                          .Include(b => b.Service)
                          .SingleAsync(m => m.Id == id);

            if (booking == null)
            {
                return(NotFound());
            }

            int userId = GetCurrentUserId();

            if (ModelState.IsValid)
            {
                booking.Package.DeliveredByUserId = model.UserId;
                booking.Package.DeliveredAt       = DateTime.Now;
                booking.Package.Status            = PackageStatus.Delivered;

                var packageLog = new PackageLog()
                {
                    PackageId  = booking.Package.BookingId,
                    LogMessage = string.Format("Delivered To Consignee by Courier {0}.", model.UserId),
                    LoggedAt   = DateTime.Now
                };

                booking.Package.PackageLogs.Add(packageLog);

                _context.Update(booking);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Bookings", new { id = booking.Id }));
            }

            ViewData["UserId"] = new SelectList(_context.Users, "Id", "UserName");

            return(View(model));
        }
Exemplo n.º 32
0
 /// <summary>
 /// Called When the package is initialized.
 /// </summary>
 public override void InitializeCustomExtension()
 {
     if (RuntimeSettings != null)
     {
         PackageLog.Log(string.Format("Runtime Settings populated.  Count = {0}", RuntimeSettings.Count), TraceEventType.Verbose);
         foreach (var setting in RuntimeSettings)
         {
             PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString()), TraceEventType.Verbose);
         }
     }
     else
     {
         PackageLog.Log("Runtime Settings not populated", TraceEventType.Verbose);
     }
 }
Exemplo n.º 33
0
        public IEnumerable<LogEntry> ExecuteEnvironment(params Action<IInstaller, IPackageLog>[] actions)
        {
            var log = new PackageLog();

            var list = new List<LogEntry>();

            var environment = findEnvironment(list, log);

            if (environment != null)
            {
                startTheEnvironment(list, environment, log, actions);
            }

            return list;
        }
Exemplo n.º 34
0
        public IEnumerable <LogEntry> ExecuteEnvironment(params Action <IInstaller, IPackageLog>[] actions)
        {
            var log = new PackageLog();

            var list = new List <LogEntry>();

            var environment = findEnvironment(list, log);

            if (environment != null)
            {
                startTheEnvironment(list, environment, log, actions);
            }

            return(list);
        }
Exemplo n.º 35
0
        public void assert_mandatory_success_with_no_failures()
        {
            var procReturn = new ProcessReturn()
            {
                ExitCode = 0,
                OutputText = "something"
            };

            var log = new PackageLog();
            LogWriter.WithLog(log, () =>
            {
                procReturn.AssertMandatorySuccess();
            });

            log.FullTraceText().ShouldEqual(procReturn.OutputText + System.Environment.NewLine);
        }
Exemplo n.º 36
0
        public void assert_optional_success_with_failures_still_only_traces()
        {
            var procReturn = new ProcessReturn()
            {
                ExitCode = 11,
                OutputText = "something"
            };

            var log = new PackageLog();
            LogWriter.WithLog(log, () =>
            {
                procReturn.AssertOptionalSuccess();
            });

            log.FullTraceText().ShouldEqual(procReturn.OutputText + System.Environment.NewLine);
        }
Exemplo n.º 37
0
        /// <summary>
        /// Called after Import completes.
        /// </summary>
        /// <returns>After primary import value</returns>
        public override bool AfterPrimaryImport()
        {
            PackageLog.Log("AfterPrimaryImport: Start");

            try
            {
                if (RuntimeSettings != null)
                {
                    PackageLog.Log("AfterPrimaryImport: RuntimeSettings is not null");
                    Settings.AddRuntimeSettings(RuntimeSettings);
                }

                var appUser = Settings.GetApplicationUser();

                // If the application user Id isn't passed in as parameter, it will be Guid.Empty. In that case we shouldn't proceed further.
                if (appUser.Id != Guid.Empty)
                {
                    PackageLog.Log(string.Format("AfterPrimaryImport: Application user Id is: {0}", appUser.Id));

                    // TODO: Handle First-party application AAD provisioning (auth + single call to graphAPI?)

                    //1.Create application user if it doesn't exist. Get its Id if one exists.
                    var systemUserId = CreateOrGetApplicationUser(appUser);

                    //2.Associate role with user.
                    if (systemUserId != Guid.Empty)
                    {
                        PackageLog.Log(string.Format("AfterPrimaryImport: System user Id is: {0}", systemUserId));
                        AssignRoleToUser(systemUserId, appUser.RoleId);
                        AssignRoleToUser(systemUserId, appUser.ExportRoleId);
                    }
                }
                PackageLog.Log("AfterPrimaryImport: Creating Bulk Delete Job");
                CreateBulkDeleteJob(DefaultMonths);

                PackageLog.Log("AfterPrimaryImport: Completed");
            }
            catch (Exception ex)
            {
                PackageLog.Log(string.Format("AfterPrimaryImport: Exception: {0}", ex.ToString()));
                PackageLog.Log(string.Format("AfterPrimaryImport: StackTrace: {0}", ex.StackTrace));

                return(false);
            }

            return(true);
        }
Exemplo n.º 38
0
        public void positive_test_with_generic()
        {
            new FileSystem().CreateDirectory("foo");
            var settings = new FileSettings
            {
                Folder = "foo"
            };

            var log = new PackageLog();

            var requirement = new FolderExists<FileSettings>(x => x.Folder, settings);

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("Folder 'foo' defined by FileSettings.Folder exists");
        }
Exemplo n.º 39
0
        public void positive_test_with_generic()
        {
            new FileSystem().CreateDirectory("foo");
            var settings = new FileSettings
            {
                Folder = "foo"
            };

            var log = new PackageLog();

            var requirement = new FolderExists <FileSettings>(x => x.Folder, settings);

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("Folder 'foo' defined by FileSettings.Folder exists");
        }
Exemplo n.º 40
0
        public void positive_test_with_generic()
        {
            new FileSystem().WriteStringToFile("file.txt", "anything");
            var settings = new FileSettings
            {
                File = "file.txt"
            };

            var log = new PackageLog();

            var requirement = new FileExists <FileSettings>(x => x.File, settings);

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("File 'file.txt' defined by FileSettings.File exists");
        }
Exemplo n.º 41
0
        public void negative_test_with_settings()
        {
            var log = new PackageLog();

            var folder = Guid.NewGuid().ToString();
            var settings = new FileSettings
            {
                Folder = folder
            };

            var requirement = new FolderExists<FileSettings>(x => x.Folder, settings);

            requirement.Check(log);

            log.Success.ShouldBeFalse();
            log.FullTraceText().ShouldContain("Folder '{0}' defined by FileSettings.Folder does not exist!".ToFormat(folder));
        }
Exemplo n.º 42
0
        public void positive_test_with_generic()
        {
            new FileSystem().WriteStringToFile("file.txt", "anything");
            var settings = new FileSettings
            {
                File = "file.txt"
            };

            var log = new PackageLog();

            var requirement = new FileExists<FileSettings>(x => x.File, settings);

            requirement.Check(log);

            log.Success.ShouldBeTrue();
            log.FullTraceText().ShouldContain("File 'file.txt' defined by FileSettings.File exists");
        }
        public ActionResult Installed(string id)
        {
            //TODO: Load install log and report any errors

            var package = BackOfficeRequestContext.PackageContext.LocalPackageManager.SourceRepository.FindPackage(id);
            var logger  = new PackageLogger(BackOfficeRequestContext, HttpContext, package, true);
            var model   = new PackageLog
            {
                PackageId  = package.Id,
                Title      = package.Title,
                Version    = package.Version,
                ProjectUrl = package.ProjectUrl,
                LogEntries = logger.GetLogEntries()
            };

            return(View("Installed", model));
        }
Exemplo n.º 44
0
        public void find_children()
        {
            var log = new PackageLog();

            var loader1 = new StubBottleLoader();
            var loader2 = new StubBottleLoader();
            var loader3 = new StubBottleLoader();

            var package1 = new StubBottle("1");
            var package2 = new StubBottle("2");
            var package3 = new StubBottle("3");

            log.AddChild(loader1, loader2, loader3, package1, package2, package3);

            log.FindChildren<IBottleLoader>().ShouldHaveTheSameElementsAs(loader1, loader2, loader3);

            log.FindChildren<IPackageInfo>().ShouldHaveTheSameElementsAs(package1, package2, package3);
        }
Exemplo n.º 45
0
        public void negative_test_with_settings()
        {
            var log = new PackageLog();

            var file     = Guid.NewGuid().ToString() + ".txt";
            var settings = new FileSettings
            {
                File = file
            };

            var requirement = new FileExists <FileSettings>(x => x.File, settings);


            requirement.Check(log);

            log.Success.ShouldBeFalse();
            log.FullTraceText().ShouldContain("File '{0}' defined by FileSettings.File does not exist!".ToFormat(file));
        }
Exemplo n.º 46
0
        public void find_children()
        {
            var log = new PackageLog();

            var loader1 = new StubPackageLoader();
            var loader2 = new StubPackageLoader();
            var loader3 = new StubPackageLoader();

            var package1 = new StubPackage("1");
            var package2 = new StubPackage("2");
            var package3 = new StubPackage("3");

            log.AddChild(loader1, loader2, loader3, package1, package2, package3);

            log.FindChildren <IPackageLoader>().ShouldHaveTheSameElementsAs(loader1, loader2, loader3);

            log.FindChildren <IPackageInfo>().ShouldHaveTheSameElementsAs(package1, package2, package3);
        }
Exemplo n.º 47
0
        /// <summary>
        /// Returns the version of specified solution if present.
        /// </summary>
        private int[] GetSolutionVersion(string solutionName)
        {
            FilterExpression filter = new FilterExpression(LogicalOperator.And);

            filter.AddCondition(new ConditionExpression("uniquename", ConditionOperator.Equal, solutionName));
            QueryExpression query = new QueryExpression
            {
                EntityName = "solution",
                ColumnSet  = new ColumnSet("uniquename", "version"),
                Criteria   = filter,
                PageInfo   = new PagingInfo()
                {
                    ReturnTotalRecordCount = true
                }
            };
            EntityCollection stuff = CrmSvc.RetrieveMultiple(query);

            foreach (var i in stuff.Entities)
            {
                PackageLog.Log($"Name: {i.GetAttributeValue<string>("uniquename").ToString()} Version: {i.GetAttributeValue<string>("version")}");
            }
            if (stuff.TotalRecordCount < 1)
            {
                return(null);
            }
            string version = stuff.Entities.First().GetAttributeValue <string>("version");

            if (string.IsNullOrEmpty(version))
            {
                return(null);
            }
            string[] versions = version.Split('.');

            PackageLog.Log($"NonprofitCore - Major:{versions[0]} Minor:{versions[1]} Build:{versions[2]} Revision:{versions[3]}");
            int[] versionNumbers = new int[4];
            int.TryParse(versions[0], out versionNumbers[0]);
            int.TryParse(versions[1], out versionNumbers[1]);
            int.TryParse(versions[2], out versionNumbers[2]);
            int.TryParse(versions[3], out versionNumbers[3]);

            return(versionNumbers);
        }
Exemplo n.º 48
0
        protected override void beforeEach()
        {
            theHost      = new HostManifest("something");
            theDirective = new OneDirective();



            theDeployers = Services.CreateMockArrayFor <IDeployer <OneDirective> >(5);

            theLogs = new PackageLog[5];
            for (int i = 0; i < theLogs.Length; i++)
            {
                theLogs[i] = new PackageLog();
                MockFor <IDeploymentDiagnostics>().Expect(x => x.LogAction(theHost, theDirective, theDeployers[i]))
                .Return(theLogs[i]);
            }

            ClassUnderTest.Attach(theHost, theDirective);
            ClassUnderTest.Deploy();
        }
Exemplo n.º 49
0
        private static void executeInstallers(IList<LogEntry> list, IEnumerable<IInstaller> installers, IEnumerable<Action<IInstaller, IPackageLog>> actions)
        {
            foreach (var action in actions)
            {
                foreach (var installer in installers)
                {
                    var log = new PackageLog();
                    try
                    {
                        action(installer, log);
                    }
                    catch (Exception e)
                    {
                        log.MarkFailure(e.ToString());
                    }

                    list.Add(installer, log);
                }
            }
        }
Exemplo n.º 50
0
        private static void executeInstallers(IList <LogEntry> list, IEnumerable <IInstaller> installers, IEnumerable <Action <IInstaller, IPackageLog> > actions)
        {
            foreach (var action in actions)
            {
                foreach (var installer in installers)
                {
                    var log = new PackageLog();
                    try
                    {
                        action(installer, log);
                    }
                    catch (Exception e)
                    {
                        log.MarkFailure(e.ToString());
                    }

                    list.Add(installer, log);
                }
            }
        }
        public void SetUp()
        {
            Directory.GetFiles(".", "*.script.config").Each(x => File.Delete(x));

            assets = new AssetGraph();
            activator = new AssetGraphConfigurationActivator(assets, new FileSystem(), new AssetLogsCache());

            log = new PackageLog();
        }
Exemplo n.º 52
0
 public BottleExplosionRequest()
 {
     Log = new PackageLog();
     CopyBehavior = CopyBehavior.overwrite;
 }
        public void SetUp()
        {
            packageDirectory = ".".ToFullPath();
            _packages = new List<IPackageInfo>();

            AssetFolderIs = AssetFolder.scripts;
            writeFile("a.js");
            writeFile("b.js");
            writeFile("folder1/c.js");
            writeFile("folder2/d.js");

            AssetFolderIs = AssetFolder.styles;
            writeFile("main.css");
            writeFile("page.css");
            writeFile("folder1/a.css");

            startPackage("pak1");
            AssetFolderIs = AssetFolder.scripts;
            writeFile("e.js");
            writeFile("f.js");

            startPackage("pak2");
            AssetFolderIs = AssetFolder.styles;
            writeFile("a.css");
            writeFile("b.css");
            writeFile("c.css");

            startPackage("pak3");
            AssetFolderIs = AssetFolder.scripts;
            writeFile("a.js");

            thePipeline = new AssetPipeline();
            var activator = new AssetPipelineBuilderActivator(thePipeline,new AssetLogsCache());
            theLog = new PackageLog();
            activator.Activate(_packages, theLog);

            Debug.WriteLine(theLog.FullTraceText());
        }
 public static void Add(this IList<LogEntry> list, object target, PackageLog log)
 {
     list.Add(LogEntry.FromPackageLog(target, log));
 }
        public void SetUp()
        {
            FubuMvcPackageFacility.PhysicalRootPath = Environment.CurrentDirectory;

            packageDirectory = ".".ToFullPath();
            _packages = new List<IPackageInfo>();

            AssetFolderIs = AssetFolder.scripts;
            writeFile("a.js");
            writeFile("b.js");
            writeFile("folder1/c.js");
            writeFile("folder2/d.js");

            AssetFolderIs = AssetFolder.styles;
            writeFile("main.css");
            writeFile("page.css");
            writeFile("folder1/a.css");

            startPackage("pak1");
            AssetFolderIs = AssetFolder.scripts;
            writeFile("e.js");
            writeFile("f.js");

            startPackage("pak2");
            AssetFolderIs = AssetFolder.styles;
            writeFile("a.css");
            writeFile("b.css");
            writeFile("c.css");

            startPackage("pak3");
            AssetFolderIs = AssetFolder.scripts;
            writeFile("a.js");

            _theFileGraph = new AssetFileGraph();
            var activator = new AssetFileGraphBuilderActivator(_theFileGraph,new AssetLogsCache());
            theLog = new PackageLog();
            activator.Activate(_packages, theLog);

            Debug.WriteLine(theLog.FullTraceText());
        }