Пример #1
0
        public ActionResult UploadPackage(HttpPostedFileBase file)
        {
            if (file == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            // save file into memory stream
            using (var memoryStream = new MemoryStream())
            {
                file.InputStream.Position = 0;
                while (file.InputStream.Position < file.InputStream.Length)
                {
                    var dataSinge = (byte)file.InputStream.ReadByte();
                    memoryStream.WriteByte(dataSinge);
                }

                // get the module info from stream
                try
                {
                    IModuleInfo moduleInfo = _zipPackager.UnPack(memoryStream.ToArray());
                    _repositoryModel.AddModule(moduleInfo);
                }
                catch (Exception e)
                {
                    ViewData["Message"] = e.Message;
                    return(View("Error"));
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
Пример #2
0
        public void adding_duplicate_module_raises_exception()
        {
            // set up infos, equal only by id
            Mock <IModuleInfo> moduleInfoMock = GetModuleInfoMock();

            Mock <IModuleInfo> duplicateInfoMock = GetDuplicateInfoMock();

            // put one info into storage
            _storageMock.Setup(x => x.GetAvaliableModules()).Returns(new List <IModuleInfo>
            {
                moduleInfoMock.Object
            }).Verifiable(
                "List of modules should be accesed");

            // act and assert
            Assert.Throws <ArgumentException>(
                () => _repositoryModel.AddModule(duplicateInfoMock.Object));
        }