public void ControllerLogErrorsAndTrowException()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var badController   = new ModulesController(LoggerFactory, null);
         ActionResult result = badController.GetModules().Result as OkObjectResult;
     });
 }
        public void ModulesListAreNotEmpty()
        {
            Assert.NotNull(_cachingRepository);
            var okResult = _controller.GetModules().Result as OkObjectResult;

            Assert.NotNull(okResult);
            var items = Assert.IsType <List <DtoConfigurationModule> >(okResult.Value);

            Assert.Contains(items, item => item.Id == 5);
        }
Example #3
0
        public void get_all_avaliable_updates_then_get_one_of_the_avliable_updates()
        {
            // mock requestUrl
            MocRequestUrl();

            // set up two avaliable modules
            var          dataTable1  = new byte[] { 0x00 };
            const string moduleName1 = "MODULE_NAME_1";
            var          moduleInfo  = new ModuleInfo
            {
                Id       = "No1",
                Manifest = new ModuleManifest
                {
                    ModuleName = moduleName1
                },
                ModuleData = dataTable1
            };

            var          dataTable2  = new byte[] { 0xFF };
            const string moduleName2 = "MODULE_NAME_2";
            var          moduleInfo2 = new ModuleInfo
            {
                Id       = "No2",
                Manifest = new ModuleManifest
                {
                    ModuleName = moduleName2
                },
                ModuleData = dataTable2
            };

            // set up storage for module
            _mockedStorageProvider
            .Setup(x => x.GetAvaliableModules())
            .Returns(new List <IModuleInfo>
            {
                moduleInfo,
                moduleInfo2
            });

            // get the xml
            var fileStreamResult = _controller.GetModules() as FileStreamResult;

            // read this xml using the repository client class
            var output =
                XmlSerializerHelper.Deserialize <WebAvailablePackagesCollection>(
                    GetDataFromStream(fileStreamResult));

            // get the one module (module No2) out of the xml file
            WebModulePackageInfo selectedModule = output.AvailablePackages
                                                  .Where(x => x.Manifest.ModuleName.Equals(moduleName2))
                                                  .Select(x => x)
                                                  .Single();

            // get from url: 'xxx/yyy/zzzz./id' the id thing, assert the url has this format
            string[] splitedUrl = selectedModule.Url.Split('/');
            string   selectedId = splitedUrl.Last();

            // perform so called "download" using the url - id provided
            var fileStreamModule =
                _controller.GetModulePackage(selectedId) as FileStreamResult;

            // assert recived file
            Assert.NotNull(fileStreamModule, "The resulted outcome should be file stream result");
            Assert.AreEqual(dataTable2, GetDataFromStream(fileStreamModule),
                            "The data saved in database and returned should be the same");
        }