test_class.declarator: ADMIN_DISPLAY_NAME = "Admin"
test_class.modifier: private static final
test_class.original_string: private static final String ADMIN_DISPLAY_NAME = "Admin";
test_class.type: String
test_class.var_name: ADMIN_DISPLAY_NAME
test_class.declarator: ADMIN_USERNAME = "admin-username"
test_class.modifier: private static final
test_class.original_string: private static final String ADMIN_USERNAME = "admin-username";
test_class.type: String
test_class.var_name: ADMIN_USERNAME
test_class.declarator: ADMIN_PASSWORD = "admin-raw-password"
test_class.modifier: private static final
test_class.original_string: private static final String ADMIN_PASSWORD = "admin-raw-password";
test_class.type: String
test_class.var_name: ADMIN_PASSWORD
test_class.declarator: ENCODED_PASSWORD = "admin-encoded-password"
test_class.modifier: private static final
test_class.original_string: private static final String ENCODED_PASSWORD = "admin-encoded-password";
test_class.type: String
test_class.var_name: ENCODED_PASSWORD
test_class.declarator: adminProvisionTask
test_class.modifier: private
test_class.original_string: private AdminProvisionTask adminProvisionTask;
test_class.type: AdminProvisionTask
test_class.var_name: adminProvisionTask
test_class.declarator: clock = Clock.fixed(Instant.now(), ZoneId.systemDefault())
test_class.modifier: private final
test_class.original_string: private final Clock clock = Clock.fixed(Instant.now(), ZoneId.systemDefault());
test_class.type: Clock
test_class.var_name: clock
test_class.declarator: usersRepository
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private UsersRepository usersRepository;
test_class.type: UsersRepository
test_class.var_name: usersRepository
test_class.declarator: passwordEncoder
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private PasswordEncoder passwordEncoder;
test_class.type: PasswordEncoder
test_class.var_name: passwordEncoder
test_class.file: launcher/src/test/java/engineering/everest/lhotse/AdminProvisionTaskTest.java
test_class.identifier: AdminProvisionTaskTest
test_case.body: @Test
      void replayCompleted_WillCreateAdminUser_WhenAdminUserNotPresentInUsersProjection() {
          adminProvisionTask.replayCompleted();
  
          verify(usersRepository).save(
                  new PersistableUser(ADMIN_ID, null, ADMIN_USERNAME, ENCODED_PASSWORD,
                          ADMIN_DISPLAY_NAME, false, EnumSet.of(ADMIN), Instant.now(clock)));
      }
test_case.class_method_signature: AdminProvisionTaskTest.replayCompleted_WillCreateAdminUser_WhenAdminUserNotPresentInUsersProjection()
test_case.full_signature: @Test void replayCompleted_WillCreateAdminUser_WhenAdminUserNotPresentInUsersProjection()
test_case.identifier: replayCompleted_WillCreateAdminUser_WhenAdminUserNotPresentInUsersProjection
test_case.invocations: replayCompleted save verify of now
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void replayCompleted_WillCreateAdminUser_WhenAdminUserNotPresentInUsersProjection()
focal_class.declarator: ADMIN_DISPLAY_NAME = "Admin"
focal_class.modifier: private static final
focal_class.original_string: private static final String ADMIN_DISPLAY_NAME = "Admin";
focal_class.type: String
focal_class.var_name: ADMIN_DISPLAY_NAME
focal_class.declarator: clock
focal_class.modifier: private final
focal_class.original_string: private final Clock clock;
focal_class.type: Clock
focal_class.var_name: clock
focal_class.declarator: usersRepository
focal_class.modifier: private final
focal_class.original_string: private final UsersRepository usersRepository;
focal_class.type: UsersRepository
focal_class.var_name: usersRepository
focal_class.declarator: passwordEncoder
focal_class.modifier: private final
focal_class.original_string: private final PasswordEncoder passwordEncoder;
focal_class.type: PasswordEncoder
focal_class.var_name: passwordEncoder
focal_class.declarator: adminUsername
focal_class.modifier: private final
focal_class.original_string: private final String adminUsername;
focal_class.type: String
focal_class.var_name: adminUsername
focal_class.declarator: adminPassword
focal_class.modifier: private final
focal_class.original_string: private final String adminPassword;
focal_class.type: String
focal_class.var_name: adminPassword
focal_class.file: launcher/src/main/java/engineering/everest/lhotse/AdminProvisionTask.java
focal_class.identifier: AdminProvisionTask
focal_class.interfaces: implements ReplayCompletionAware
focal_class.class_method_signature: AdminProvisionTask.AdminProvisionTask(Clock clock,
                                UsersRepository usersRepository,
                                PasswordEncoder passwordEncoder,
                                @Value("${application.setup.admin.username}") String adminUsername,
                                @Value("${application.setup.admin.password}") String adminPassword)
focal_class.full_signature: public  AdminProvisionTask(Clock clock,
                                UsersRepository usersRepository,
                                PasswordEncoder passwordEncoder,
                                @Value("${application.setup.admin.username}") String adminUsername,
                                @Value("${application.setup.admin.password}") String adminPassword)
focal_class.identifier: AdminProvisionTask
focal_class.modifiers: public
focal_class.parameters: (Clock clock,
                                UsersRepository usersRepository,
                                PasswordEncoder passwordEncoder,
                                @Value("${application.setup.admin.username}") String adminUsername,
                                @Value("${application.setup.admin.password}") String adminPassword)
focal_class.signature:  AdminProvisionTask(Clock clock,
                                UsersRepository usersRepository,
                                PasswordEncoder passwordEncoder,
                                @Value("${application.setup.admin.username}") String adminUsername,
                                @Value("${application.setup.admin.password}") String adminPassword)
focal_class.class_method_signature: AdminProvisionTask.run()
focal_class.full_signature: @PostConstruct public void run()
focal_class.identifier: run
focal_class.modifiers: @PostConstruct public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void run()
focal_class.class_method_signature: AdminProvisionTask.replayCompleted()
focal_class.full_signature: @Override public void replayCompleted()
focal_class.identifier: replayCompleted
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void replayCompleted()
focal_method.body: @Override
      public void replayCompleted() {
          run();
      }
focal_method.class_method_signature: AdminProvisionTask.replayCompleted()
focal_method.full_signature: @Override public void replayCompleted()
focal_method.identifier: replayCompleted
focal_method.invocations: run
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void replayCompleted()