public async Task AddToNameCache(string deviceId)
        {
            var device = await this.GetDeviceAsync(deviceId);

            var twin = device.Twin;

            await _nameCacheLogic.AddNameAsync(nameof(device.Twin.DeviceId));

            await _nameCacheLogic.AddShortNamesAsync(
                NameCacheEntityType.Tag,
                twin.Tags
                .AsEnumerableFlatten()
                .Select(pair => pair.Key));

            await _nameCacheLogic.AddShortNamesAsync(
                NameCacheEntityType.DesiredProperty,
                twin.Properties.Desired
                .AsEnumerableFlatten()
                .Select(pair => pair.Key));

            await _nameCacheLogic.AddShortNamesAsync(
                NameCacheEntityType.ReportedProperty,
                twin.Properties.Reported
                .AsEnumerableFlatten()
                .Select(pair => pair.Key)
                .Where(name => !SupportedMethodsHelper.IsSupportedMethodProperty(name)));

            foreach (var command in device.Commands.Where(c => c.DeliveryType == DeliveryType.Method))
            {
                await _nameCacheLogic.AddMethodAsync(command);
            }
        }
Пример #2
0
        public async Task AddMethodAsyncTest()
        {
            _nameCacheRepositoryMock.Setup(x => x.AddNameAsync(NameCacheEntityType.Method, It.IsAny <NameCacheEntity>())).ReturnsAsync(true);
            var method = fixture.Create <Command>();
            var ret    = await _nameCacheLogic.AddMethodAsync(method);

            Assert.True(ret);
        }