BucketAccessServiceImpl implements BucketAccessService { @Override public AbsoluteLocation<PrivateResource> privateAccessFor(UserIDAuth user, PrivateResource resource) { log.debug("get private access for user {} and bucket {}", user, resource); return new AbsoluteLocation<>(resource); } @Inject // Just declaring dependency, so no-op operations can user runtime-delegations, lazy // because there is circular construction time dependency for `withSystemAccess`  BucketAccessServiceImpl(Lazy<StorageKeyStoreOperations> storageKeyStoreOperations); @Override AbsoluteLocation<PrivateResource> privateAccessFor(UserIDAuth user, PrivateResource resource); @Override AbsoluteLocation<PublicResource> publicAccessFor(UserID user, PublicResource resource); @Override AbsoluteLocation withSystemAccess(AbsoluteLocation resource);  }
@Test void privateAccessFor() { assertThat(bucketAccessService.privateAccessFor( auth, BasePrivateResource.forPrivate(ABSOLUTE_BUCKET)).location().asURI() ).asString().isEqualTo(ABSOLUTE_BUCKET); }