def test_scylla_repo_event(self): event = ScyllaRepoEvent(url="u1", error="e1") event.event_id = "aff29bce-d75c-4f86-9890-c6d9c1c25d3e" self.assertEqual( str(event), "(ScyllaRepoEvent Severity.WARNING) period_type=one-time " "event_id=aff29bce-d75c-4f86-9890-c6d9c1c25d3e: url=u1 error=e1") self.assertEqual(event, pickle.loads(pickle.dumps(event)))
build_list.append((timestamp, build, )) if continuation_token := s3_objects.get("NextContinuationToken"): s3_objects = s3_client.list_objects_v2( Bucket=SCYLLA_REPO_BUCKET, Delimiter="/", Prefix=prefix, ContinuationToken=continuation_token, ) build_list.sort(reverse=True) for timestamp, build in build_list: if _list_repo_file_etag(s3_client=s3_client, prefix=f"{prefix}{build}{rest}") == latest_etag: break else: ScyllaRepoEvent( url=url, error=f"There is no a sibling directory which contains same repo file (ETag={latest_etag})" ).publish_or_dump(default_logger=LOGGER) LOGGER.info("There is no a sibling directory which contains same repo file, use URL %s as is", url) return url if (timestamp, build) != build_list[0]: ScyllaRepoEvent( url=url, error=f"{url} doesn't point to the latest repo ({base}{build_list[0][1]}{rest})" ).publish_or_dump(default_logger=LOGGER) LOGGER.info("Actual latest build is %s, not %s", build_list[0][1], build) resolved_url = f"{base}{build}{rest}" LOGGER.info("%s resolved to %s", url, resolved_url) return resolved_url
def test_scylla_repo_event(self): event = ScyllaRepoEvent(url="u1", error="e1") self.assertEqual( str(event), "(ScyllaRepoEvent Severity.WARNING): url=u1 error=e1") self.assertEqual(event, pickle.loads(pickle.dumps(event)))