Esempio n. 1
0
        public async Task ShouldAddSiteHandler()
        {
            //arrange
            var useCase = new AddSiteHandlerUseCase(DbContext);

            var addSiteHandlerRequest = new AddSiteHandlerRequest()
            {
                SiteName   = "Test",
                SiteUrl    = "test.com",
                HandlerUrl = "testhandler.com"
            };

            //action
            var siteHandlerId = useCase.Handle(addSiteHandlerRequest);

            SiteHandler siteHandler = await DbContext.SiteHandlers.SingleAsync(x => x.Id == 1);

            //assert
            siteHandler.Should().NotBe(null);

            siteHandler.Id.Should().Be(1);
            siteHandler.SiteName.Should().Be("Test");
            siteHandler.SiteUrl.Should().Be("test.com");
            siteHandler.HandlerUrl.Should().Be("testhandler.com");
        }
Esempio n. 2
0
        public async Task ShouldRemoveSiteHandler()
        {
            int id = 1;

            var result = await _useCase.Handle(id);

            SiteHandler siteHandler = await DbContext.SiteHandlers.SingleOrDefaultAsync(x => x.Id == id);

            result.Should().Be(true);

            siteHandler.Should().BeNull();
        }
        public async Task <int> Handle(AddSiteHandlerRequest request)
        {
            var entity = new SiteHandler
            {
                SiteName   = request.SiteName,
                SiteUrl    = request.SiteUrl,
                HandlerUrl = request.HandlerUrl
            };

            _dbContext.SiteHandlers.Add(entity);

            await _dbContext.SaveChangesAsync();

            return(entity.Id);
        }
        public virtual object setInstalledVersion(object addonpage, object subfolder, object currentVersion)
        {
            var addonName     = SiteHandler.getAddonName(addonpage);
            var installedVers = configparser.ConfigParser();

            installedVers.read(this.INSTALLED_VERS_FILE);
            if (subfolder)
            {
                installedVers.set("Installed Versions", addonName + "|" + subfolder, currentVersion);
            }
            else
            {
                installedVers.set("Installed Versions", addonName, currentVersion);
            }
            using (var installedVersFile = open(this.INSTALLED_VERS_FILE, "w")) {
                installedVers.write(installedVersFile);
            }
        }
        public virtual object getInstalledVersion(object addonpage, object subfolder)
        {
            var addonName     = SiteHandler.getAddonName(addonpage);
            var installedVers = configparser.ConfigParser();

            installedVers.read(this.INSTALLED_VERS_FILE);
            try {
                if (subfolder)
                {
                    return(installedVers["Installed Versions"][addonName + "|" + subfolder]);
                }
                else
                {
                    return(installedVers["Installed Versions"][addonName]);
                }
            } catch (Exception) {
                return("version not found");
            }
        }
        public virtual object update()
        {
            var uberlist = new List <object>();

            using (var fin = open(this.ADDON_LIST_FILE, "r")) {
                foreach (var line in fin)
                {
                    current_node = new List <object>();
                    line         = line.rstrip("\n");
                    if (!line || line.startswith("#"))
                    {
                        continue;
                    }
                    if (line.Contains("|"))
                    {
                        // Expected input format: "mydomain.com/myzip.zip" or "mydomain.com/myzip.zip|subfolder"
                        subfolder = line.split("|")[1];
                        line      = line.split("|")[0];
                    }
                    else
                    {
                        subfolder = "";
                    }
                    addonName      = SiteHandler.getAddonName(line);
                    currentVersion = SiteHandler.getCurrentVersion(line);
                    if (currentVersion == null)
                    {
                        currentVersion = "Not Available";
                    }
                    current_node.append(addonName);
                    current_node.append(currentVersion);
                    installedVersion = this.getInstalledVersion(line, subfolder);
                    if (!(currentVersion == installedVersion))
                    {
                        Console.WriteLine("Installing/updating addon: " + addonName + " to version: " + currentVersion + "\n");
                        ziploc          = SiteHandler.findZiploc(line);
                        install_success = false;
                        install_success = this.getAddon(ziploc, subfolder);
                        current_node.append(this.getInstalledVersion(line, subfolder));
                        if (install_success && currentVersion != "")
                        {
                            this.setInstalledVersion(line, subfolder, currentVersion);
                        }
                    }
                    else
                    {
                        Console.WriteLine(addonName + " version " + currentVersion + " is up to date.\n");
                        current_node.append("Up to date");
                    }
                    uberlist.append(current_node);
                }
            }
            if (this.AUTO_CLOSE == "False")
            {
                var col_width = max(from row in uberlist
                                    from word in row
                                    select word.Count) + 2;
                Console.WriteLine("".join(from word in Tuple.Create("Name", "Iversion", "Cversion")
                                          select word.ljust(col_width)));
                foreach (var row in uberlist)
                {
                    Console.WriteLine("".join(from word in row
                                              select word.ljust(col_width)), end: "\n");
                }
                confirmExit();
            }
        }