public List <AssetNetworkPort> Resolve(NetworkConnectionDto source, NetworkConnection destination, List <AssetNetworkPort> destMember, ResolutionContext context) { return(source.Ports .Select(o => { var port = _networkRepo.GetNetworkPort(o.Id); // overwrite the mac address with what has been provided port.MacAddress = o.MacAddress; return port; }) .ToList()); }
public async Task CreateConnection_TwoExistingPorts_Success() { using (var scope = _provider.CreateScope()) { await SetupAssetData(scope); } var portOneId = _asset.NetworkPorts[0] .Id; var portTwoId = _asset.NetworkPorts[1] .Id; const string portOneUpdatedMac = "11:22:33:44:55:66"; const string portTwoUpdatedMac = "aa:bb:cc:dd:ee:ff"; var connectionDto = new NetworkConnectionDto { Ports = new List <AssetNetworkPortDto> { new AssetNetworkPortDto { Id = portOneId, MacAddress = portOneUpdatedMac }, new AssetNetworkPortDto { Id = portTwoId, MacAddress = portTwoUpdatedMac } } }; using (var scope = _provider.CreateScope()) { var networkService = scope.ServiceProvider.GetRequiredService <INetworkService>(); var connectionId = await networkService.CreateConnectionAsync(connectionDto); var assetService = scope.ServiceProvider.GetRequiredService <IAssetService>(); var asset = await assetService.GetAssetAsync(_asset.Id); var connection = await networkService.GetConnectionAsync(connectionId); connection.Ports.Should() .HaveCount(2); connection.Ports.Should() .Contain(port => port.Id == portOneId && port.MacAddress == portOneUpdatedMac); connection.Ports.Should() .Contain(port => port.Id == portTwoId && port.MacAddress == portTwoUpdatedMac); } }
public async Task <Guid> CreateConnectionAsync(NetworkConnectionDto connectionDto) { var connection = _mapper.Map <NetworkConnection>(connectionDto); return(await _repository.AddConnectionAsync(connection)); }