public void Uploader_should_throw_meaningful_exception_if_cannot_find_project_group_reference() { var octopusRepository = new FakeOctopusRepository(); var uploader = new ModelUploader(octopusRepository); var model = CreateProjectModel("lifecycle", "group"); octopusRepository.Lifecycles.Create(new LifecycleResource { Name = "lifecycle" }); var ex = Assert.Throws <KeyNotFoundException>(() => uploader.UploadModel(model)); Assert.That(ex.Message, Is.EqualTo("ProjectGroupResource with name 'group' not found.")); }
public void SetUp() { _repository = new FakeOctopusRepository(); _downloader = new Downloader(_repository); _uploader = new Uploader(_repository); _model = new SystemModel(new[] { new Role("api", new List <string> { "dev1", "dev2" }), new Role("csapi", new List <string> { "dev1", "dev2" }), new Role("service", new List <string> { "dev3" }) }, new Tenant[] { }, new TenantTag[] { }); foreach (var role in _model.Roles) { _repository.FakeMachineRoles.Add(role.Name); } foreach (var machineName in _model.Roles.SelectMany(x => x.Machines) .Concat(_model.Tenants.SelectMany(x => x.Machines)) .Concat(_model.TenantTags.SelectMany(x => x.Machines)).Distinct()) { var machine = new MachineResource { Name = machineName }; foreach (var machineRole in _model.Roles.Where(x => x.Machines.Contains(machineName)).Select(r => r.Name).ToList()) { machine.Roles.Add(machineRole); } _repository.Machines.Create(machine); } }
public void Uploader_should_throw_meaningful_exception_if_cannot_find_references_from_variable_scope(VariableScopeType scopeType, string resourceTypeName) { var octopusRepository = new FakeOctopusRepository(); var uploader = new ModelUploader(octopusRepository); var referenceName = "ref1"; var variable = new Variable("var1", true, false, "val1", new Dictionary <VariableScopeType, IEnumerable <ElementReference> > { { scopeType, new[] { new ElementReference(referenceName) } } }, null); var model = CreateProjectModel("lifecycle", "group", variable); octopusRepository.Lifecycles.Create(new LifecycleResource { Name = "lifecycle" }); octopusRepository.ProjectGroups.Create(new ProjectGroupResource { Name = "group" }); var ex = Assert.Throws <KeyNotFoundException>(() => uploader.UploadModel(model)); Assert.That(ex.Message, Is.EqualTo($"{resourceTypeName} with name '{referenceName}' not found.")); }
public void SetUp() { _repository = new FakeOctopusRepository(); _downloader = new ModelDownloader(_repository, new NullLoggerFactory()); _uploader = new ModelUploader(_repository, new NullLoggerFactory()); }
public void SetUp() { _repository = new FakeOctopusRepository(); _downloader = new ModelDownloader(_repository); _uploader = new ModelUploader(_repository); }