Esempio n. 1
0
        public async Task File_Id_providers_return_no_duplicates(Type type)
        {
            ITusFileIdProvider provider;

            if (type == typeof(TusGuidProvider))
            {
                provider = new TusGuidProvider();
            }
            else if (type == typeof(TusBase64IdProvider))
            {
                provider = new TusBase64IdProvider();
            }
            else
            {
                throw new ArgumentException("Invalid file id provider type", nameof(type));
            }

            List <Task <string> > idTasks = new List <Task <string> >();

            for (int i = 0; i < 1_000_000; i++)
            {
                var task = provider.CreateId(string.Empty);
                idTasks.Add(task);
            }

            var ids = (await Task.WhenAll(idTasks)).ToList();

            // check for duplicates
            (ids.Count == ids.Distinct().Count()).ShouldBeTrue();
        }
Esempio n. 2
0
        public async Task File_Id_providers_return_valid_file_ids(Type type)
        {
            ITusFileIdProvider provider;

            if (type == typeof(TusGuidProvider))
            {
                provider = new TusGuidProvider();
            }
            else if (type == typeof(TusBase64IdProvider))
            {
                provider = new TusBase64IdProvider();
            }
            else
            {
                throw new ArgumentException("Invalid file id provider type", nameof(type));
            }

            var id = await provider.CreateId(string.Empty);

            id.ShouldNotBeNullOrWhiteSpace();

            (await provider.ValidateId(id)).ShouldBeTrue();
            (await provider.ValidateId("")).ShouldBeFalse();
        }