public async void PostDatacenter()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            await using var context = new ApplicationDbContext(options);
            IDatacenterRepository repository = new DatacenterRepository <ApplicationDbContext>(context);
            IDatacenterService    service    = new DatacenterService(repository, AuditMock.Object, _mapper);
            IApiErrorResources    error      = new ApiErrorResources();
            var controller = new DatacentersController(service, error, _mapper);

            //checking to see if post works
            var createDatacenterApiDto = GenerateCreateDatacenterApiDto();
            var sign = await controller.Post(createDatacenterApiDto);

            var result = await context.Datacenters.FirstOrDefaultAsync();

            // weak assertion. TODO: assert property-for-property equality
            Assert.NotNull(result);

            //checking to see if get works
            var id         = Guid.NewGuid();
            var datacenter = GenerateDatacenter(id);
            await context.Datacenters.AddAsync(datacenter);

            var numAdded = await context.SaveChangesAsync();

            var getDatacenter = await controller.Get(datacenter.Id);

            // weak assertion. TODO: assert property-for-property equality
            Assert.NotNull(getDatacenter.Result);
        }
Beispiel #2
0
        public async IAsyncEnumerable <Datacenter> GetDatacentersSafe(Adapter adapter)
        {
            if (adapter?.Provider == null)
            {
                yield break;
            }
            adapter = await _context.Adapters.Where(x => x.IsOK).Include(c => c.Credentials).Include(p => p.Provider).SingleOrDefaultAsync(a => a.Id == adapter.Id);

            switch (adapter.Provider.ProviderType)
            {
            case ProviderType.Ovirt:
                ServicesResponse servicesResponse = await DatacenterService.GetDatacenters(adapter);

                if (servicesResponse.isSuccess)
                {
                    OvirtDatacenter.DataCenters ovirtDataCenters = (OvirtDatacenter.DataCenters)servicesResponse.resultObject;
                    foreach (var dc in ovirtDataCenters.DataCenter)
                    {
                        yield return(dc);
                    }
                }
                break;

            case ProviderType.VMware:
                var response = await EasyAdmin.Services.VMware.DatacenterService.GetDatacentersListAsync(adapter);

                if (response.isSuccess)
                {
                    foreach (var dc in response.resultObject)
                    {
                        yield return(dc);
                    }
                }
                break;
            }
        }
Beispiel #3
0
        public async Task <ActionResult <List <Datacenter> > > GetDatacenters(Adapter adapter)
        {
            if (adapter?.Provider == null)
            {
                return(BadRequest());
            }
            adapter = await _context.Adapters.Where(x => x.IsOK).Include(c => c.Credentials).Include(p => p.Provider).SingleOrDefaultAsync(a => a.Id == adapter.Id);

            List <Datacenter> datacenters = new List <Datacenter>();

            switch (adapter.Provider.Name.ToLower())
            {
            case "ovirt":
                ServicesResponse servicesResponse = await DatacenterService.GetDatacenters(adapter);

                if (servicesResponse.isSuccess)
                {
                    OvirtDatacenter.DataCenters ovirtDataCenters = (OvirtDatacenter.DataCenters)servicesResponse.resultObject;
                    datacenters.AddRange(ovirtDataCenters.DataCenter.ConvertAll(x => (Datacenter)x));
                }
                break;
            }
            return(datacenters);
        }