@Override
    public Size.Output run(RunContext runContext) throws Exception {
        StorageInterface storageInterface = ((DefaultRunContext)runContext).getApplicationContext().getBean(StorageInterface.class);
        URI render = URI.create(runContext.render(this.uri));

        Long size = storageInterface.getAttributes(runContext.tenantId(), render).getSize();

        return Output.builder()
            .size(size)
            .build();
    }
@Test
    void run() throws Exception {
        RunContext runContext = runContextFactory.of();

        final Long size = 42L;
        byte[] randomBytes = new byte[size.intValue()];
        new Random().nextBytes(randomBytes);

        URI put = storageInterface.put(
            null,
            new URI("/file/storage/get.yml"),
            new ByteArrayInputStream(randomBytes)
        );

        Size bash = Size.builder()
            .uri(put.toString())
            .build();

        Size.Output run = bash.run(runContext);
        assertThat(run.getSize(), is(size));
    }