public void TestGetByIdStudent() { var repository = Mock.Create <IRepository <Student> >(); var student = new Student() { Id = 1, FirstName = "Pesho", LastName = "Peshov", Grade = 3 }; Mock.Arrange <Student>( () => repository.Get(student.Id)) .IgnoreArguments() .Returns(student) .MustBeCalled(); var controller = new StudentController(repository); SetupController.Create(controller, "get", "student"); var result = controller.GetById(student.Id); Assert.AreEqual(result.Id, student.Id); Assert.AreEqual(result.FirstName, student.FirstName); Assert.AreEqual(result.LastName, student.LastName); Assert.AreEqual(result.Grade, student.Grade); }
public void Interact(Action onCompletion) { this.onCompletion = onCompletion; controller = new SetupController(); CLI.DisplayLine("Welcome to the DiagnosticChain!"); CLI.DisplayLineDelimiter(); var userInput = PromptUsername(); if (userInput == UIConstants.abortionCode) { return; } if (userInput == "") { userInput = SetupNewUser(); } if (userInput == UIConstants.abortionCode) { return; } controller.SetupForUser(userInput).Interact(OnControllerCompletion); }
/// <inheritdoc/> public override void AddUpdateSteps(SetupController <NodeDefinition> controller) { base.Initialize(controller); controller.AddStep(GetStepLabel("elasticsearch"), (node, stepDelay) => UpdateElasticsearch(node)); controller.AddStep(GetStepLabel("ceph-fuse"), (node, stepDelay) => UpdateCephFuse(node)); // $todo(jeff.lill): // // Update these component scripts to remove this secret: neon-hivemq-neon // // neon-hive-manager.sh // neon-proxy-manager.sh // neon-proxy-public.sh // neon-proxy-private.sh // // Remove these Docker secrets after updating services: // // neon-hivemq-neon // neon-hivemq-sysadmin // neon-hivemq-app // // We also need to reconfigure the AMPQ private [neon-hivemq-ampq] traffic manager rule // as TCP because older builds incorrectly configured this as an HTTP proxy. controller.AddGlobalStep(GetStepLabel("hivemq-settings"), () => UpdateHiveMQSettings()); controller.AddGlobalStep(GetStepLabel("hivemq cluster name"), () => UpdateHiveMQClusterName()); controller.AddGlobalStep(GetStepLabel("rename log-retention-days"), () => UpdateLogRetentionDays()); controller.AddGlobalStep(GetStepLabel("proxy cache services"), () => UpdateProxyCacheServices()); controller.AddStep(GetStepLabel("edit proxy bridge scripts"), (node, stepDelay) => UpdateProxyBridgeScripts(node)); }
/// <summary> /// Updates the hive services and containers. /// </summary> /// <param name="force"><c>true</c> to disable the update prompt.</param> /// <param name="maxParallel">Maximum number of parallel operations.</param> /// <param name="imageTag">Optionally overrides the default image tag.</param> private void UpdateServices(bool force, int maxParallel, string imageTag = null) { EnsureRootPivileges(); if (!force && !Program.PromptYesNo($"*** Are you sure you want to UPDATE HIVE services on [{hive.Name}]?")) { Program.Exit(0); } var controller = new SetupController <NodeDefinition>("hive update images", hive.Nodes) { MaxParallel = maxParallel, ShowStatus = true }; controller.SetDefaultRunOptions(RunOptions.FaultOnError); HiveUpdateManager.AddHiveUpdateSteps(hive, controller, out var restartRequired, servicesOnly: true, serviceUpdateParallism: Program.MaxParallel, imageTag: imageTag); if (controller.StepCount == 0) { Console.WriteLine("The hive is already up-to-date."); Program.Exit(0); } if (!controller.Run()) { Console.Error.WriteLine("*** ERROR: One or more UPDATE steps failed."); Program.Exit(1); } Console.WriteLine(); Console.WriteLine("*** Hive services and containers were updated successfully."); }
public void TestAddCorrectStudent() { bool isItemAdded = false; var repository = Mock.Create <IRepository <Student> >(); var studentModel = new StudentModel() { FirstName = "Pesho", LastName = "Peshov", Grade = 3 }; var studentEntity = new Student() { Id = 1, FirstName = studentModel.FirstName, LastName = studentModel.LastName, Grade = studentModel.Grade }; Mock.Arrange(() => repository.Add(Arg.IsAny <Student>())) .DoInstead(() => isItemAdded = true) .Returns(studentEntity); var controller = new StudentController(repository); SetupController.Create(controller, "post", "student"); var result = controller.Post(studentEntity); Assert.IsTrue(result.IsSuccessStatusCode); Assert.IsTrue(isItemAdded); }
public void AddFacet_Action_Returns_View_With_A_Facet() { var controller = new SetupController(facetService); var result = controller.AddFacet(); result.AssertViewRendered().ForView("EditFacet").WithViewData <Facet>(); }
public void TestAddCorrectMark() { bool isItemAdded = false; var repository = Mock.Create <IRepository <Mark> >(); var markModel = new MarkModel() { Value = 5, Subject = "Math" }; var markEntity = new Mark() { Id = 1, Value = markModel.Value, Subject = markModel.Subject }; Mock.Arrange(() => repository.Add(Arg.IsAny <Mark>())) .DoInstead(() => isItemAdded = true) .Returns(markEntity); var controller = new MarkController(repository); SetupController.Create(controller, "post", "mark"); var result = controller.Post(markEntity); Assert.IsTrue(result.IsSuccessStatusCode); Assert.IsTrue(isItemAdded); }
public void Index_Action_Returns_View() { var controller = new SetupController(facetService); var result = controller.Index(); result.AssertViewRendered(); }
public void TestGetByIdSchool() { var repository = Mock.Create <IRepository <School> >(); var school = new School() { Id = 1, Name = "PMG", Location = "Sofia" }; Mock.Arrange <School>( () => repository.Get(school.Id)) .IgnoreArguments() .Returns(school) .MustBeCalled(); var controller = new SchoolController(repository); SetupController.Create(controller, "get", "school"); var result = controller.GetSchool(school.Id); Assert.AreEqual(result.Id, school.Id); Assert.AreEqual(result.Name, school.Name); Assert.AreEqual(result.Location, school.Location); }
public void TestGetByIdMark() { var repository = Mock.Create <IRepository <Mark> >(); var mark = new Mark() { Id = 1, Subject = "Psycho", Value = 3 }; Mock.Arrange <Mark>( () => repository.Get(mark.Id)) .IgnoreArguments() .Returns(mark) .MustBeCalled(); var controller = new MarkController(repository); SetupController.Create(controller, "get", "mark"); var result = controller.GetById(mark.Id); Assert.AreEqual(result.Id, mark.Id); Assert.AreEqual(result.Subject, mark.Subject); Assert.AreEqual(result.Value, mark.Value); }
public void TestAddCorrectSchool() { bool isItemAdded = false; var repository = Mock.Create <IRepository <School> >(); var schoolModel = new SchoolModel() { Name = "PMG", Location = "Sofia" }; var schoolEntity = new School() { Id = 1, Name = schoolModel.Name, Location = schoolModel.Location }; Mock.Arrange(() => repository.Add(Arg.IsAny <School>())) .DoInstead(() => isItemAdded = true) .Returns(schoolEntity); var controller = new SchoolController(repository); SetupController.Create(controller, "post", "school"); var result = controller.PostSchool(schoolEntity); Assert.IsTrue(result.IsSuccessStatusCode); Assert.IsTrue(isItemAdded); }
public void PlaceBoat_B3_C5_False() { SetupController setup = new SetupController(10); setup.Click(setup.grid.grid[1, 2]); setup.Click(setup.grid.grid[2, 4]); Assert.AreEqual(0, setup.boats.Count); }
public static void InitializeSetup(SetupController sc) { if (instance == null) { InitializeLocal(); } instance.InitializeSetupImpl(sc); }
/// <summary> /// C-tor /// </summary> public SetupPage() { InitializeComponent(); _controller = new SetupController(this); _controller.DeviceInformationReceived += OnDeviceInformationReceived; _controller.OperationStarted += OnGetDeviceInformationBegin; _controller.OperationCompleted += OnGetDeviceInformationEnd; }
/// <inheritdoc/> public override void AddUpdateSteps(SetupController <NodeDefinition> controller) { base.Initialize(controller); controller.AddGlobalStep(GetStepLabel("make neon-registry LB rule private"), () => PrivateRegistryRule()); controller.AddStep(GetStepLabel("remove docker python module"), (node, stepDelay) => RemoveDockerPython(node)); controller.AddStep(GetStepLabel("edit /etc/hosts"), (node, stepDelay) => EditEtcHosts(node)); }
protected override void InitializeSetupImpl(SetupController sc) { base.InitializeSetupImpl(sc); sc.opponentSquadPanel.gameObject.SetActive(true); sc.opponentSquadPanel.SetAddCallback(sc.AddSelectedToOpponentSquad); sc.backButton.onClick.AddListener(sc.EnterInitial); gameClient.AsLocal().ConnectToGameServer(); }
/// <summary> /// Updates the Linux distribution on all hive nodes and then reboots them /// one at a time, giving each of them some time to stabilize before rebooting /// the next node. /// </summary> /// <param name="force"><c>true</c> to disable the update prompt.</param> /// <param name="maxParallel">Maximum number of parallel operations.</param> private void UpdateLinux(bool force, int maxParallel) { EnsureRootPivileges(); if (!force && !Program.PromptYesNo($"*** Are you sure you want to UPDATE LINUX on [{hive.Name}] hive nodes?")) { Program.Exit(0); } var firstManager = hive.FirstManager; var controller = new SetupController <NodeDefinition>("hive update linux", hive.Nodes) { MaxParallel = maxParallel, ShowStatus = !Program.Quiet }; controller.SetDefaultRunOptions(RunOptions.FaultOnError); controller.AddStep("fetch updates", (node, stepDelay) => { Thread.Sleep(stepDelay); node.Status = "run: safe-apt-get update"; node.SudoCommand("safe-apt-get update"); }); controller.AddStep("update managers", UpdateLinux, n => n.Metadata.IsManager, parallelLimit: 1); if (hive.Workers.Count() > 0) { controller.AddStep("update workers", UpdateLinux, n => n.Metadata.IsWorker, parallelLimit: 1); } if (hive.Pets.Count() > 0) { controller.AddStep("update pets", UpdateLinux, n => n.Metadata.IsPet, parallelLimit: 1); } if (!controller.Run()) { Console.Error.WriteLine("*** ERROR: One or more UPDATE steps failed."); Program.Exit(1); } Console.WriteLine(); Console.WriteLine("*** Linux packages was updated successfully."); }
/// <summary> /// Updates the Docker engine on all hive nodes and then restarts them /// one at a time, giving each of them some time to stabilize before /// updating the next node. /// </summary> /// <param name="force"><c>true</c> to disable the update prompt.</param> /// <param name="version">The Docker version to install.</param> /// <param name="maxParallel">Maximum number of parallel operations.</param> private void UpdateDocker(bool force, string version, int maxParallel) { Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(version)); EnsureRootPivileges(); if (!hive.Headend.IsDockerCompatible(hive.Globals.Version, version, out var message)) { Console.Error.WriteLine($"*** ERROR: {message}"); Program.Exit(1); } if (!force && !Program.PromptYesNo($"*** Are you sure you want to UPDATE DOCKER on [{hive.Name}] hive nodes?")) { Program.Exit(0); } this.version = version; this.dockerPackageUri = hive.Headend.GetDockerPackageUri(version, out message); var controller = new SetupController <NodeDefinition>($"hive update docker: {version}", hive.Nodes) { MaxParallel = maxParallel, ShowStatus = !Program.Quiet }; controller.SetDefaultRunOptions(RunOptions.FaultOnError); controller.AddStep("update managers", UpdateDocker, n => n.Metadata.IsManager, parallelLimit: 1); if (hive.Workers.Count() > 0) { controller.AddStep("update workers", UpdateDocker, n => n.Metadata.IsWorker, parallelLimit: 1); } if (hive.Pets.Count() > 0) { controller.AddStep("update pets", UpdateDocker, n => n.Metadata.IsPet, parallelLimit: 1); } if (!controller.Run()) { Console.Error.WriteLine("*** ERROR: One or more DOCKER UPDATE steps failed."); Program.Exit(1); } Console.WriteLine(); Console.WriteLine("*** Docker Engine was updated successfully."); }
public void SaveFacet_Action_With_New_Facet_Inserts_And_Redirects_To_Action() { facetService.Insert(new Facet()); var controller = new SetupController(facetService); var result = controller.SaveFacet(new Facet()); result.AssertActionRedirect(); }
public void ListFacets_Action_Returns_View_With_A_ViewModel() { facetService.All().Returns(new List <Facet>()); var controller = new SetupController(facetService); var result = controller.ListFacets(); result.AssertViewRendered().WithViewData <FacetListViewModel>(); }
public Setup(int size) : base() { InitializeComponent(); this.size = size; controller = new SetupController(size); controller.OnRefresh += new Refresh(OnRefresh); controller.OnEnableBtnCancel += new EnableBtnCancel(OnEnableBtnCancel); controller.OnEnableBtnNext += new EnableBtnNext(OnEnableBtnNext); MakeGrid(); }
private static void LocateTesterPath(UpdatableProgram program) { Console.Write("Write the path to your ZWSetup cloned repository: "); string rootFolder = Console.ReadLine(); SetupController.LocateTester(rootFolder); Console.WriteLine("Sucesfully located Tester project.", Color.DarkGreen); Console.Read(); program.RedrawCurrentPage(true); }
public void PlaceBoat_B3_B5_True() { SetupController setup = new SetupController(10); setup.Click(setup.grid.grid[1, 2]); setup.Click(setup.grid.grid[1, 4]); Assert.AreEqual(1, setup.boats.Count); Boat boat = setup.boats[0]; Assert.AreEqual(Direction.Down, boat.orientation); Assert.AreEqual(3, boat.cells.Count); }
void Awake() { if (staticSetupController != null) { Destroy(staticSetupController); } else { staticSetupController = this; } //DontDestroyOnLoad(this); }
/// <summary> /// Prepends any required generic hive updates initialization steps /// to a setup controller. /// </summary> /// <param name="controller">The setup controller.</param> protected void Initialize(SetupController <NodeDefinition> controller) { Covenant.Requires <ArgumentNullException>(controller != null); controller.AddStep(GetStepLabel("initialize"), (node, stepDelay) => { node.Status = "update state"; var updateFolder = LinuxPath.Combine(HiveHostFolders.State, "update", ToVersion.ToString()); node.SudoCommand("mkdir -p", updateFolder); node.SudoCommand("chmod 770", updateFolder); }, noParallelLimit: true, position: 0); }
/// <summary> /// Updates the hive hive configuration, services and containers. /// </summary> /// <param name="force"><c>true</c> to disable the update prompt.</param> /// <param name="maxParallel">Maximum number of parallel operations.</param> /// <param name="imageTag">Optionally overrides the default image tag.</param> private void UpdateHive(bool force, int maxParallel, string imageTag = null) { EnsureRootPivileges(); if (!force && !Program.PromptYesNo($"*** Are you sure you want to UPDATE HIVE components and services on [{hive.Name}]?")) { Program.Exit(0); } var controller = new SetupController <NodeDefinition>("hive update", hive.Nodes) { ShowStatus = !Program.Quiet }; controller.MaxParallel = maxParallel; controller.SetDefaultRunOptions(RunOptions.FaultOnError); var hiveUpdateCount = HiveUpdateManager.AddHiveUpdateSteps(hive, controller, out var restartRequired, serviceUpdateParallism: Program.MaxParallel, imageTag: imageTag); if (controller.StepCount == 0) { Console.WriteLine("The hive is already up-to-date."); Program.Exit(0); } if (!controller.Run()) { Console.Error.WriteLine("*** ERROR: One or more UPDATE steps failed."); Program.Exit(1); } Console.WriteLine(); Console.WriteLine("*** Hive components, services, and containers were updated successfully."); if (hive.Globals.TryGetBool(HiveGlobals.UserDisableAutoUnseal, out var disableAutoUnseal) || !disableAutoUnseal) { Console.WriteLine(); Console.WriteLine("*** WARNING: The hive Vault is probably sealed now because auto-unseal is disabled."); Console.WriteLine(); Console.WriteLine("Use these command to check Vault status and manually unseal if necessary:"); Console.WriteLine(); Console.WriteLine(" neon vault -- status"); Console.WriteLine(" Neon vault -- unseal"); Console.WriteLine(); } }
public async Task GetFlowShouldReturnBadRequestWhenResultIsFailure() { //Arrange var flowLocal = Result.Fail <FlowDataModel>("Bad request to EccSetup.API"); var mobileServiceMock = new Mock <IMobileService>(); mobileServiceMock.Setup(x => x.GetFlow(It.IsAny <FlowFilterFromBody>())).Returns(Task.FromResult(flowLocal)); var mobileService = mobileServiceMock.Object; //Act var controller = new SetupController(mobileService); var response = await controller.GetFlow(new FlowFilterFromBody()); //Asert var result = response as BadRequestResult; result.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); }
public override void Display() { Console.Write("SLN File Path: "); string path = Console.ReadLine(); if (path.IsDirectory()) { var files = Directory.GetFiles(path, "*.sln"); if (files.Length == 0) { Console.WriteLine("The provided folder doesn't have any folder!", Color.Red); (Program as UpdatableProgram).NavigateBack(); return; } path = files[0]; } if (!File.Exists(path)) { Console.WriteLine("The file you provided doesn't exists!", Color.Red); (Program as UpdatableProgram).NavigateBack(); return; } ZTWPackage package = PackageController.Add(path); // Then check if we have located Tester project... To append a new item to its csproj if (!SetupController.CheckTesterPathDetermined()) { Console.Write("Couldn't determine the Tester csproj file, please, determine it.", Color.Yellow); Console.Read(); return; } TesterController.GenerateSetupInTester(package); Console.Write($"Added package '{package.Name}' succesfully! Press any key to go back...", Color.DarkGreen); Console.Read(); (Program as UpdatableProgram).NavigateBack(); }
public async Task GetFlowShouldReturnNoContentResultWhenNoFlowFound() { //Arrange FlowDataModel model = null; var flowLocal = Result.Ok(model); var mobileServiceMock = new Mock <IMobileService>(); mobileServiceMock.Setup(x => x.GetFlow(It.IsAny <FlowFilterFromBody>())).Returns(Task.FromResult(flowLocal)); var mobileService = mobileServiceMock.Object; //Act var controller = new SetupController(mobileService); var response = await controller.GetFlow(new FlowFilterFromBody()); //Assert var result = response as NoContentResult; result.StatusCode.Should().Be((int)HttpStatusCode.NoContent); }
public async Task GetFlowShouldReturnOKStatusCode() { var flowLocal = Result.Ok(new FlowDataModel() { Name = "Test" }); var mobileServiceMock = new Mock <IMobileService>(); mobileServiceMock.Setup(x => x.GetFlow(It.IsAny <FlowFilterFromBody>())).Returns(Task.FromResult(flowLocal)); var mobileService = mobileServiceMock.Object; //Act var controller = new SetupController(mobileService); var response = await controller.GetFlow(new FlowFilterFromBody()); //Assert var result = response as OkObjectResult; result.StatusCode.Should().Be((int)HttpStatusCode.OK); }