Esempio n. 1
0
        public async Task ImportStream(string aggregateType, long recordCount)
        {
            var moqRepo = new Mock <IRebalanceRepository>();

            moqRepo.Setup((lst, id) =>
            {
                Assert.Equal(recordCount, lst.Count);
                return(Task.FromResult(recordCount));
            });
            using var modelContent   = new MultipartContent("mixed", "++++++++");
            using var templateStream = await $"{aggregateType}.xml".AsStreamContent();
            using var dataStream     = await $"{aggregateType}.txt".AsStreamContent();
            modelContent.AddContent(
                aggregateType,
                templateStream,
                dataStream);

            var section = new MultipartSection
            {
                Body = await modelContent.ReadAsStreamAsync()
            };

            var sut = new ImportController(_loggerFactory.CreateLogger <ImportController>(), moqRepo.Object);
            await sut.ImportStream(section);
        }
Esempio n. 2
0
        public async Task ThrowFromImportStreamWhenRecordTypeIsNotADomainObject()
        {
            var moqRepo = new Mock <IRebalanceRepository>();

            moqRepo.Setup((lst, id) => Task.FromResult((long)lst.Count));
            using var modelContent   = new MultipartContent("mixed", "++++++++");
            using var templateStream = await $"Model.Bad.xml".AsStreamContent();
            using var dataStream     = await $"Model.txt".AsStreamContent();
            modelContent.AddContent(
                "Model",
                templateStream,
                dataStream);

            var section = new MultipartSection
            {
                Body = await modelContent.ReadAsStreamAsync()
            };

            var sut = new ImportController(_loggerFactory.CreateLogger <ImportController>(), moqRepo.Object);
            var ex  = await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.ImportStream(section));

            Assert.Equal("Cannot import records into object of type BadModel", ex.Message);
        }