public void LookupVolume()
        {
            var values = new LookupVolumeParams("1");
            var result = MasterWrapper.LookupVolume(values).GetAwaiter().GetResult();

            Assert.AreEqual(values.VolumeId, result.VolumeId);
        }
示例#2
0
        /// <summary>
        /// Fetch lookup volume result.
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        private async Task <LookupVolumeResult> FetchLookupVolumeResult(LookupVolumeParams value)
        {
            CheckConnection();
            var url     = _connection.LeaderUrl + RequestPathStrategy.LookupVolume + value.ToUrlParams();
            var request = new HttpRequestMessage(
                HttpMethod.Get,
                new Uri(url)
                );
            var jsonResponse = await _connection.FetchJsonResultByRequest(request);

            var obj = JsonConvert.DeserializeObject <LookupVolumeResult>(jsonResponse.Json, Settings.JsonSerializerSettings);

            return(obj);
        }
示例#3
0
        /// <summary>
        /// Lookup volume.
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task <LookupVolumeResult> LookupVolume(LookupVolumeParams value)
        {
            CheckConnection();
            if (!_connection.IsLookupVolumeCacheEnabled)
            {
                return(await FetchLookupVolumeResult(value));
            }

            var result = _connection.VolumeLookupCache.GetCachedData(
                value.VolumeId.ToString(),
                Connection.LockObject4LookupVolumeCache,
                _connection.CreateCacheItemPolicy(),
                async() =>
            {
                var volume = await FetchLookupVolumeResult(value);
                return(volume);
            });

            return(result);
        }