use of it.niedermann.owncloud.notes.persistence.sync.OcsAPI in project nextcloud-notes by stefan-niedermann.
the class ApiProviderTest method testGetOcsAPI.
@Test
public void testGetOcsAPI() {
var api = apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount);
assertNotNull(api);
assertSame(api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount));
assertNotSame(api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), secondSsoAccount));
apiProvider.invalidateAPICache(ssoAccount);
final OcsAPI newApi = apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount);
assertNotSame("After invalidating the cache, a new API instance is returned", api, newApi);
api = newApi;
assertSame(api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount));
assertNotSame("A new instance should be returned when another SingleSignOn account is provided", api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), secondSsoAccount));
apiProvider.invalidateAPICache();
assertNotSame(api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount));
assertNotSame(newApi, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), secondSsoAccount));
}