def test_entries(self):
     with unittest.mock.patch(
             'avocado.core.dependencies.requirements.cache.backends.sqlite.CACHE_DATABASE_PATH',
             os.path.join(self.tmpdir.name, 'requirements.sqlite')):
         for entry in ENTRIES:
             cache.set_requirement(*entry)
             self.assertTrue(cache.get_requirement(*entry))
Example #2
0
 async def update_requirement_cache(runtime_task, result):
     kind = runtime_task.task.runnable.kind
     name = runtime_task.task.runnable.kwargs.get("name")
     cache.set_requirement(ENVIRONMENT_TYPE, ENVIRONMENT, kind, name)
     if result in STATUSES_NOT_OK:
         cache.delete_requirement(ENVIRONMENT_TYPE, ENVIRONMENT, kind, name)
         return
     cache.update_requirement_status(ENVIRONMENT_TYPE, ENVIRONMENT, kind,
                                     name, True)
Example #3
0
 async def save_requirement_in_cache(self, runtime_task):  # pylint: disable=W0221
     container_id = str(uuid.uuid4())
     _, requirements = self._get_image_from_cache(runtime_task)
     if requirements:
         for requirement_type, requirement in requirements:
             cache.set_requirement(self.environment, container_id,
                                   requirement_type, requirement)
     cache.set_requirement(
         self.environment,
         container_id,
         runtime_task.task.runnable.kind,
         runtime_task.task.runnable.kwargs.get("name"),
         False,
     )
Example #4
0
 def test_is_environment_prepared(self):
     with unittest.mock.patch(
             "avocado.core.dependencies.requirements.cache.backends.sqlite.CACHE_DATABASE_PATH",
             os.path.join(self.tmpdir.name, "requirements.sqlite"),
     ):
         for entry in ENTRIES:
             cache.set_requirement(*entry)
         self.assertFalse(
             cache.is_environment_prepared(
                 "pd34d13b2980d0a9d438f754b2e94f85443076d0ebe1b0db09a0439f35feca5e"
             ))
         self.assertTrue(
             cache.is_environment_prepared(
                 "cd34d13b2980d0a9d438f754b2e94f85443076d0ebe1b0db09a0439f35feca5e"
             ))
Example #5
0
 def test_entries(self):
     with unittest.mock.patch(
             "avocado.core.dependencies.requirements.cache.backends.sqlite.CACHE_DATABASE_PATH",
             os.path.join(self.tmpdir.name, "requirements.sqlite"),
     ):
         for entry in ENTRIES[:-1]:
             cache.set_requirement(*entry)
             self.assertTrue(cache.is_requirement_in_cache(*entry))
         entry = ENTRIES[-1]
         cache.set_requirement(*entry)
         self.assertIsNone(
             cache.is_requirement_in_cache(entry[0], entry[1], entry[2],
                                           entry[3]))
         self.assertFalse(
             cache.is_requirement_in_cache("local", "localhost.localdomain",
                                           "package", "foo"))
Example #6
0
 def test_get_all_environments_with_requirement(self):
     with unittest.mock.patch(
             "avocado.core.dependencies.requirements.cache.backends.sqlite.CACHE_DATABASE_PATH",
             os.path.join(self.tmpdir.name, "requirements.sqlite"),
     ):
         for entry in ENTRIES:
             cache.set_requirement(*entry)
         all_requirements = cache.get_all_environments_with_requirement(
             "podman", "package", "hello")
         expected_data = {
             "ad34d13b2980d0a9d438f754b2e94f85443076d0ebe1b0db09a0439f35feca5e":
             [("package", "hello")],
             "cd34d13b2980d0a9d438f754b2e94f85443076d0ebe1b0db09a0439f35feca5e":
             [
                 ("core", "avocado"),
                 ("package", "bash"),
                 ("package", "hello"),
             ],
         }
         self.assertEqual(all_requirements, expected_data)
Example #7
0
 async def save_requirement_in_cache(runtime_task):
     kind = runtime_task.task.runnable.kind
     name = runtime_task.task.runnable.kwargs.get("name")
     cache.set_requirement(ENVIRONMENT_TYPE, ENVIRONMENT, kind, name, False)