Ajust test_job_listing.py to validate file_metadata as a JSON object:

 - After commit 646c8d11 the Job parameter file_metadata is enforced to be a JSON object. Tests have to be changed accordingly.
1 job for develop in 9 seconds (queued for 6 seconds)
Status Job ID Name Coverage
  Build
failed build #16241491
docker-image-build

00:00:09

 
Name Stage Failure
failed
build Build
 ---> 8652b9f0cb4c
Step 2/15 : MAINTAINER CERN
---> Running in 38b09f79dc28
Removing intermediate container 38b09f79dc28
---> 6631c0678b0e
Step 3/15 : ADD http://linuxsoft.cern.ch/epel/epel-release-latest-7.noarch.rpm /tmp/epel-release-7.noarch.rpm
time="2021-09-13T12:31:20Z" level=fatal msg="ADD failed: failed to GET http://linuxsoft.cern.ch/epel/epel-release-latest-7.noarch.rpm with status 404 Not Found: <!doctype html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n \n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n \n <meta name=\"description\" content=\"Software - Linux @ CERN\">\n \n \n <link rel=\"canonical\" href=\"https://linuxsoft.cern.ch/\">\n \n \n <meta name=\"author\" content=\"Linux Support\">\n \n <link rel=\"shortcut icon\" href=\"/layout/favicon.ico\">\n <meta name=\"generator\" content=\"mkdocs-1.1, mkdocs-material-5.1.0\">\n \n \n \n <title>Linux @ CERN</title>\n \n \n \n <link rel=\"stylesheet\" href=\"/layout/main.89dc9fe3.min.css\">\n \n \n \n \n \n \n <link href=\"https://fonts.gstatic.com\" rel=\"preconnect\" crossorigin>\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback\">\n <style>body,input{font-family:\"Roboto\",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:\"Roboto Mono\",SFMono-Regular,Consolas,Menlo,monospace}</style>\n \n \n \n \n <link rel=\"stylesheet\" href=\"/layout/extra.css\">\n \n \n \n \n \n </head>\n \n \n <body dir=\"ltr\">\n \n <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n <label class=\"md-overlay\" for=\"__drawer\"></label>\n <div data-md-component=\"skip\">\n \n \n <a href=\"#recent-software-updates-and-news\" class=\"md-skip\">\n Skip to content\n </a>\n \n </div>\n <div data-md-component=\"announce\">\n \n </div>\n \n <header class=\"md-header\" data-md-component=\"header\">\n <nav class=\"md-header-nav md-grid\" aria-label=\"Header\">\n <a href=\"https://linux.web.cern.ch/\" title=\"Linux @ CERN\" class=\"md-header-nav__button md-logo\" aria-label=\"Linux @ CERN\">\n \n <img src=\"/layout/LogoOutline_LogoOutline-Blue.svg\" alt=\"logo\">\n\n </a>\n <label class=\"md-header-nav__button md-icon\" for=\"__drawer\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" /></svg>\n </label>\n <div class=\"md-header-nav__title\" data-md-component=\"header-title\">\n \n <div class=\"md-header-nav__ellipsis\">\n <span class=\"md-header-nav__topic md-ellipsis\">\n Linux @ CERN\n </span>\n <span class=\"md-header-nav__topic md-ellipsis\">\n asdfsdf\n </span>\n </div>\n \n </div>\n \n <label class=\"md-header-nav__button md-icon\" for=\"__search\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" /></svg>\n </label>\n \n<div class=\"md-search\" data-md-component=\"search\" role=\"dialog\">\n <label class=\"md-search__overlay\" for=\"__search\"></label>\n <div class=\"md-search__inner\" role=\"search\">\n <form class=\"md-search__form\" name=\"search\">\n <input type=\"text\" class=\"md-search__input\" name=\"query\" aria-label=\"Search\" placeholder=\"Search\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" data-md-component=\"search-query\" data-md-state=\"active\">\n <label class=\"md-search__icon md-icon\" for=\"__search\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" /></svg>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\" /></svg>\n </label>\n <button type=\"reset\" class=\"md-search__icon md-icon\" aria-label=\"Clear\" data-md-component=\"search-reset\" tabindex=\"-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" /></svg>\n </button>\n </form>\n <div class=\"md-search__output\">\n <div class=\"md-search__scrollwrap\" data-md-scrollfix>\n <div class=\"md-search-result\" data-md-component=\"search-result\">\n <div class=\"md-search-result__meta\">\n Type to start searching\n </div>\n <ol class=\"md-search-result__list\"></ol>\n </div>\n </div>\n </div>\n </div>\n</div>\n \n </nav>\n</header>\n \n <div class=\"md-container\" data-md-component=\"container\">\n \n \n \n \n \n \n <main class=\"md-main\" data-md-component=\"main\">\n <div class=\"md-main__inner md-grid\">\n \n \n <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"navigation\">\n <div class=\"md-sidebar__scrollwrap\">\n <div class=\"md-sidebar__inner\">\n <nav class=\"md-nav md-nav--primary\" aria-label=\"Navigation\" data-md-level=\"0\">\n <label class=\"md-nav__title\" for=\"__drawer\">\n <a href=\"https://linux.web.cern.ch/\" title=\"Linux @ CERN\" class=\"md-nav__button md-logo\" aria-label=\"Linux @ CERN\">\n \n <img src=\"/layout/LogoOutline_LogoOutline-Blue.svg\" alt=\"logo\">\n\n </a>\n Linux @ CERN\n </label>\n \n\n \n <div class=\"md-nav__item\">\n\n <a href=\"https://linux.web.cern.ch/\" title=\"Introduction\" class=\"md-nav__link\">\n Introduction\n </a>\n\n <a href=\"https://linux.web.cern.ch/centos/\" title=\"CentOS\" class=\"md-nav__link\">\n CentOS\n </a>\n\n <a href=\"https://linux.web.cern.ch/scientific/\" title=\"Scientific Linux\" class=\"md-nav__link\">\n Scientific Linux\n </a>\n \n <a href=\"https://linux.web.cern.ch/other/\" title=\"Other Linux Products\" class=\"md-nav__link\">\n Other Linux products\n </a>\n\n <a href=\"https://linux.web.cern.ch/dockerimages/\" title=\"Docker images\" class=\"md-nav__link\">\n Docker images\n </a>\n\n <a href=\"https://linux.web.cern.ch/openstack/\" title=\"Openstack images\" class=\"md-nav__link\">\n Openstack images\n </a>\n\n <a href=\"https://linux.web.cern.ch/koji/\" title=\"Linux Software Building\" class=\"md-nav__link\">\n Linux Software Building\n </a>\n\n <a href=\"https://linux.web.cern.ch/installation/bootmedia/\" title=\"Installation\" class=\"md-nav__link\">\n Installation\n </a>\n\n <a href=\"https://linux.web.cern.ch/updates/\" title=\"Updates\" class=\"md-nav__link\">\n Updates\n </a>\n\n <a href=\"https://linux.web.cern.ch/docs/\" title=\"Documentation\" class=\"md-nav__link\">\n Documentation\n </a>\n\n <a href=\"https://linux.web.cern.ch/software/\" title=\"Software\" class=\"md-nav__link\">\n Software\n </a>\n\n <a href=\"https://linux.web.cern.ch/survivalkit/\" title=\"Linux Survival Kit training\" class=\"md-nav__link\">\n Linux Survival Kit training\n </a>\n\n <a href=\"https://linux.web.cern.ch/support/\" title=\"Support\" class=\"md-nav__link\">\n Support\n </a>\n\n <a href=\"https://linux.web.cern.ch/sitemap/\" title=\"Sitemap\" class=\"md-nav__link\">\n Sitemap\n </a>\n </div>\n </nav>\n\n \n\n\n \n</nav>\n </div>\n </div>\n </div>\n \n \n \n \n <div class=\"md-content\">\n <article class=\"md-content__inner md-typeset\">\n\r\n<script>setTitle('404: does not exist ...')</script>\r\n<br>\r\n<br>\r\n<br>\r\n<p>\r\n<h1><font style=\"color: red; font-size: 80pt; font-weight: bold;\">404</font> - Ooops. That page does not exist.</h1>\r\n</p>\r\n<!-- beginning of footer -->\n</div>\n\n<div id=\"footer\" align=\"right\">\n<!-- Made with <a href=\"http://www.vim.org/ title=\"Vim\"><img valign=\"center\" border=\"0\" src=\"/layout/vim16x16.gif\" alt=\"Vim\"/></a>    Last modification:  Fri 03 Jul 2020  <a href=\"mailto:linux.support@cern.ch\">linux.support@cern.ch</a> -->\n</div>\n</div>\n\n<!-- google analytics test -->\n<script type=\"text/javascript\" src=\"https://www.google-analytics.com/ga.js\" defer=\"defer\"></script>\n<!-- <script type=\"text/javascript\" defer=\"defer\"> -->\n<!-- var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\"); -->\n<!-- document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\")); -->\n<!-- </script> -->\n<script type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-3015287-2\");\npageTracker._trackPageview();\n} catch(err) {}</script>\n<!-- google analytics test -->\n</body>\n</html>"
Cleaning up file based variables
ERROR: Job failed: exit code 1