@Override
    public FlinkPod decorateFlinkPod(FlinkPod flinkPod) {
        final Container mainContainerWithStartCmd =
                new ContainerBuilder(flinkPod.getMainContainer())
                        .withCommand(kubernetesTaskManagerParameters.getContainerEntrypoint())
                        .withArgs(getTaskManagerStartCommand())
                        .addToEnv(
                                new EnvVarBuilder()
                                        .withName(Constants.ENV_TM_JVM_MEM_OPTS)
                                        .withValue(
                                                kubernetesTaskManagerParameters.getJvmMemOptsEnv())
                                        .build())
                        .build();

        return new FlinkPod.Builder(flinkPod).withMainContainer(mainContainerWithStartCmd).build();
    }
@Test
    void testTaskManagerStartCommandsAndArgs() {
        final FlinkPod resultFlinkPod = cmdTaskManagerDecorator.decorateFlinkPod(baseFlinkPod);
        final String entryCommand = flinkConfig.get(KubernetesConfigOptions.KUBERNETES_ENTRY_PATH);
        assertThat(resultFlinkPod.getMainContainer().getCommand())
                .containsExactlyInAnyOrder(entryCommand);
        List<String> flinkCommands =
                KubernetesUtils.getStartCommandWithBashWrapper(
                        Constants.KUBERNETES_TASK_MANAGER_SCRIPT_PATH
                                + " "
                                + DYNAMIC_PROPERTIES
                                + " "
                                + mainClassArgs
                                + " "
                                + ENTRYPOINT_ARGS);
        assertThat(resultFlinkPod.getMainContainer().getArgs())
                .containsExactlyElementsOf(flinkCommands);
    }