### Question:
RepositoryConnectController implements IConnectedRepositoryInstance { @SuppressWarnings( "unchecked" ) public String getRepositories() { RepositoriesMeta repositoriesMeta = getRepositoriesMeta(); String connected = null; if ( spoonSupplier.get() != null && spoonSupplier.get().rep != null ) { connected = spoonSupplier.get().rep.getName(); } List<JSONObject> list = new ArrayList<>(); if ( repositoriesMeta != null ) { for ( int i = 0; i < repositoriesMeta.nrRepositories(); i++ ) { RepositoryMeta repositoryMeta = repositoriesMeta.getRepository( i ); JSONObject repoJson = repositoryMeta.toJSONObject(); if ( connected != null && repositoryMeta.getName().equals( connected ) ) { repoJson.put( "connected", true ); } list.add( repoJson ); } } return list.toString(); } RepositoryConnectController( PluginRegistry pluginRegistry, Supplier<Spoon> spoonSupplier );  RepositoryConnectController(); boolean help(); String createConnection(); String editDatabaseConnection( String database ); boolean deleteDatabaseConnection( String database ); String browse(); @SuppressWarnings( "unchecked" ) String getPlugins(); boolean updateRepository( String id, Map<String, Object> items ); RepositoryMeta createRepository( String id, Map<String, Object> items ); @SuppressWarnings( "unchecked" ) String getRepositories(); String getRepository( String name ); DatabaseMeta getDatabase( String name ); void removeDatabase( String name ); @SuppressWarnings( "unchecked" ) String getDatabases(); void connectToRepository(); void connectToRepository( RepositoryMeta repositoryMeta ); void connectToRepository( String repositoryName, String username, String password ); void connectToRepository( RepositoryMeta repositoryMeta, String username, String password ); void reconnectToRepository( String repositoryName, String username, String password ); void reconnectToRepository( String username, String password ); boolean deleteRepository( String name ); void addDatabase( DatabaseMeta databaseMeta ); boolean setDefaultRepository( String name ); boolean clearDefaultRepository(); String getCurrentUser(); void setCurrentRepository( RepositoryMeta repositoryMeta ); RepositoryMeta getCurrentRepository(); RepositoryMeta getConnectedRepository(); void setConnectedRepository( RepositoryMeta connectedRepository ); RepositoryMeta getDefaultRepositoryMeta(); RepositoryMeta getRepositoryMetaByName( String name ); boolean isConnected( String name ); boolean isConnected(); Repository getConnectedRepositoryInstance(); void save(); boolean checkDuplicate( String name ); PropsUI getPropsUI(); void addListener( RepositoryContollerListener listener ); void removeListener( RepositoryContollerListener listener ); void fireListeners(); boolean isRelogin(); void setRelogin( boolean relogin ); Map<String, Object> modelToMap( RepositoryModel model ); boolean isDatabaseWithNameExist( DatabaseMeta databaseMeta, boolean isNew ); static final String DISPLAY_NAME; static final String DESCRIPTION; static final String IS_DEFAULT; static final String URL; static final String DATABASE_CONNECTION; static final String SHOW_HIDDEN_FOLDERS; static final String LOCATION; static final String DO_NOT_MODIFY; static final String ORIGINAL_NAME; static final String DEFAULT_URL; static final String MESSAGE; static final String SUCCESS; static final String ERROR_401; static final String HELP_URL; }### Answer:
@Test public void testGetRepositories() { when( repositoriesMeta.nrRepositories() ).thenReturn( 1 ); when( repositoriesMeta.getRepository( 0 ) ).thenReturn( repositoryMeta ); JSONObject json = new JSONObject(); json.put( "displayName", REPOSITORY_NAME ); json.put( "isDefault", false ); json.put( "description", REPOSITORY_DESCRIPTION ); json.put( "id", REPOSITORY_ID ); when( repositoryMeta.toJSONObject() ).thenReturn( json ); String repositories = controller.getRepositories(); assertEquals( "[{\"isDefault\":false,\"displayName\":\"Repository Name\",\"description\":\"Repository Description\"," + "\"id\":\"Repository ID\"}]", repositories ); }