public async Task Setup()
        {
            SharedSetup();

            _directoryMock = new Mock <ShareDirectoryClient>();
            _input         = new Mock <IPathFilter>();

            ShareClient.Setup(s => s.GetRootDirectoryClient())
            .Returns(_directoryMock.Object);

            _directories = new[]
            {
                new [] { FilesModelFactory.StorageFileItem(true, "Recurse1", 0) },
                new [] { FilesModelFactory.StorageFileItem(true, "Recurse2", 0) },
                new [] { FilesModelFactory.StorageFileItem(true, "Recurse3", 0) },
                new [] { FilesModelFactory.StorageFileItem(true, "Recurse4", 0) },
                new [] { FilesModelFactory.StorageFileItem(true, "Recurse5", 0) },
                new [] { FilesModelFactory.StorageFileItem(true, "Collect1", 0), FilesModelFactory.StorageFileItem(true, "Collect2", 0) }
            };

            var pathActionSequence        = _input.SetupSequence(s => s.DecideAction(It.IsAny <string>()));
            var directoryContentsSequence = _directoryMock.SetupSequence(s => s.GetFilesAndDirectoriesAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()));
            var pathSequence = _directoryMock.SetupSequence(s => s.Path);

            _directoryMock.Setup(s => s.GetSubdirectoryClient(It.IsAny <string>())).Returns(() => _directoryMock.Object);

            for (var i = 0; i < NumberOfDirectoriesInTree; i++)
            {
                var item = _directories[i];
                directoryContentsSequence.Returns(() => MockPageable(item).Object);
                pathActionSequence.Returns(PathAction.Recurse);
                pathSequence.Returns(string.Join("/", _directories.SelectMany(s => s.Select(x => x.Name)).Take(i)));
            }

            pathSequence.Returns(string.Join("/", _directories.SelectMany(s => s.Select(x => x.Name)).Take(5)));

            for (var i = NumberOfDirectoriesInTree; i < _directories.Length; i++)
            {
                var items = _directories[i];
                directoryContentsSequence.Returns(() => MockPageable(items).Object);

                foreach (var subItem in items)
                {
                    pathActionSequence.Returns(PathAction.Collect);
                }
            }

            _output = await ClassInTest.ListAsync(_input.Object, CancellationToken.None).AsEnumerableAsync();
        }
Example #2
0
        public async Task Setup()
        {
            SharedSetup();

            _directoryMock = new Mock <ShareDirectoryClient>();
            _input         = new Mock <IPathFilter>();

            ShareClient.Setup(s => s.GetRootDirectoryClient())
            .Returns(_directoryMock.Object);

            var directoryContentsSequence = _directoryMock.SetupSequence(s => s.GetFilesAndDirectoriesAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()));
            var pathSequence = _directoryMock.SetupSequence(s => s.Path);

            pathSequence.Returns("");
            directoryContentsSequence.Returns(() => MockPageable(Enumerable.Empty <ShareFileItem>()).Object);

            _output = await ClassInTest.ListAsync(_input.Object, It.IsAny <CancellationToken>()).AsEnumerableAsync();
        }
Example #3
0
 public void Exception_Is_Thrown()
 {
     Assert.That(() => ClassInTest.ListAsync(null, CancellationToken.None),
                 Throws.ArgumentNullException.With.Property(nameof(ArgumentNullException.ParamName)).EqualTo("pathFilter"));
 }