diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e04450..4a1d11f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,9 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - fix comment in JsonCacheHive class constructor — [120](https://github.com/dartoos-dev/json_cache/issues/120). +- rename class JsonCacheSecStorage to JsonCacheFlutterSecureStorage — **BREAKING CHANGE** — [126](https://github.com/dartoos-dev/json_cache/issues/126). + ### Removed -- drop support for the 'EncryptedSharedPreferences' package — **BREAKING CHANGE** — [125](https://github.com/dartoos-dev/json_cache/issues/125). +- support for the 'EncryptedSharedPreferences' package — **BREAKING CHANGE** — [125](https://github.com/dartoos-dev/json_cache/issues/125). ## [1.5.2] - 2023-02-28 diff --git a/README.md b/README.md index de4e64b..52a2b30 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Rultor.com](https://www.rultor.com/b/dartoos-dev/json_cache)](https://www.rultor - [JsonCacheTry — Enhanced Diagnostic Messages](#jsoncachetry) - [JsonCachePrefs — SharedPreferences](#jsoncacheprefs) - [JsonCacheLocalStorage — LocalStorage](#jsoncachelocalstorage) - - [JsonCacheSecStorage — FlutterSecureStorage](#jsoncachesecstorage) + - [JsonCacheFlutterSecureStorage — FlutterSecureStorage](#jsoncachefluttersecurestorage) - [JsonCacheCrossLocalStorage — CrossLocalStorage](#jsoncachecrosslocalstorage) - [JsonCacheHive — Hive](#jsoncachehive) - [Unit Test Tips](#unit-test-tips) @@ -286,16 +286,16 @@ is an implementation on top of the ``` -### JsonCacheSecStorage +### JsonCacheFlutterSecureStorage -JsonCacheSecStorage +JsonCacheFlutterSecureStorage is an implementation on top of the [flutter_secure_storage](https://pub.dev/packages/flutter_secure_storage) package. ```dart … - final secStorage = FlutterSecureStorage(…); - final JsonCache jsonCache = JsonCacheSecStorage(secStorage); + final flutterSecureStorage = FlutterSecureStorage(…); + final JsonCache jsonCache = JsonCacheFlutterSecureStorage(flutterSecureStorage); // In order to write a string value, define it as a map key whose associated // value is a boolean placeholder value set to 'true'. jsonCache.refresh('secret', {'a secret info': true}); diff --git a/lib/json_cache.dart b/lib/json_cache.dart index 820e370..e423313 100644 --- a/lib/json_cache.dart +++ b/lib/json_cache.dart @@ -5,11 +5,11 @@ export 'src/json_cache.dart'; export 'src/json_cache_cross_local_storage.dart'; export 'src/json_cache_exception.dart'; export 'src/json_cache_fake.dart'; +export 'src/json_cache_flutter_secure_storage.dart'; export 'src/json_cache_hive.dart'; export 'src/json_cache_hollow.dart'; export 'src/json_cache_local_storage.dart'; export 'src/json_cache_mem.dart'; export 'src/json_cache_prefs.dart'; -export 'src/json_cache_sec_storage.dart'; export 'src/json_cache_try.dart'; export 'src/json_cache_wrap.dart'; diff --git a/lib/src/json_cache_sec_storage.dart b/lib/src/json_cache_flutter_secure_storage.dart similarity index 85% rename from lib/src/json_cache_sec_storage.dart rename to lib/src/json_cache_flutter_secure_storage.dart index cc289f8..46e733c 100644 --- a/lib/src/json_cache_sec_storage.dart +++ b/lib/src/json_cache_flutter_secure_storage.dart @@ -7,11 +7,11 @@ import 'package:json_cache/json_cache.dart'; /// /// See also: /// - [flutter_secure_storage](https://pub.dev/packages/flutter_secure_storage). -class JsonCacheSecStorage implements JsonCache { +class JsonCacheFlutterSecureStorage implements JsonCache { /// Sets the [FlutterSecureStorage] instance. - const JsonCacheSecStorage(this._storage); + const JsonCacheFlutterSecureStorage(this._storage); - // the encapsulated [FlutterSecureStorage] instance. + // The encapsulated [FlutterSecureStorage] instance. final FlutterSecureStorage _storage; @override diff --git a/test/json_cache_sec_storage_test.dart b/test/json_cache_flutter_secure_storage_test.dart similarity index 54% rename from test/json_cache_sec_storage_test.dart rename to test/json_cache_flutter_secure_storage_test.dart index 34c1f9f..24db009 100644 --- a/test/json_cache_sec_storage_test.dart +++ b/test/json_cache_flutter_secure_storage_test.dart @@ -4,23 +4,24 @@ import 'package:json_cache/json_cache.dart'; import 'flutter_secure_storage_mock.dart'; void main() { - group('JsonCacheSecStorage', () { + group('JsonCacheFlutterSecureStorage', () { test('clear, value, refresh', () async { final secStorageMock = FlutterSecureStorageMock(); - final JsonCacheSecStorage secCache = JsonCacheSecStorage(secStorageMock); + final JsonCacheFlutterSecureStorage flutterSecureCache = + JsonCacheFlutterSecureStorage(secStorageMock); const profKey = 'profile'; const profData = {'id': 1, 'name': 'John Due'}; - await secCache.refresh(profKey, profData); + await flutterSecureCache.refresh(profKey, profData); expect(secStorageMock.writeInvokations, 1); - var prof = await secCache.value(profKey); + var prof = await flutterSecureCache.value(profKey); expect(prof, profData); expect(secStorageMock.readInvokations, 1); - await secCache.clear(); + await flutterSecureCache.clear(); expect(secStorageMock.deleteAllInvokations, 1); - prof = await secCache.value(profKey); + prof = await flutterSecureCache.value(profKey); expect(prof, isNull); expect(secStorageMock.readInvokations, 2); }); @@ -34,25 +35,27 @@ void main() { 'notifications': {'enabled': true} }; final secStorageMock = FlutterSecureStorageMock(); - final JsonCacheSecStorage secCache = JsonCacheSecStorage(secStorageMock); + final JsonCacheFlutterSecureStorage flutterSecureCache = + JsonCacheFlutterSecureStorage(secStorageMock); // update data - await secCache.refresh(profKey, profData); - await secCache.refresh(prefKey, prefData); + await flutterSecureCache.refresh(profKey, profData); + await flutterSecureCache.refresh(prefKey, prefData); // test for `true` - expect(await secCache.contains(profKey), true); - expect(await secCache.contains(prefKey), true); + expect(await flutterSecureCache.contains(profKey), true); + expect(await flutterSecureCache.contains(prefKey), true); // test for `false` - expect(await secCache.contains('a key'), false); - await secCache.remove(profKey); - expect(await secCache.contains(profKey), false); - await secCache.remove(prefKey); - expect(await secCache.contains(prefKey), false); + expect(await flutterSecureCache.contains('a key'), false); + await flutterSecureCache.remove(profKey); + expect(await flutterSecureCache.contains(profKey), false); + await flutterSecureCache.remove(prefKey); + expect(await flutterSecureCache.contains(prefKey), false); }); test('remove', () async { final secStorageMock = FlutterSecureStorageMock(); - final JsonCacheSecStorage secCache = JsonCacheSecStorage(secStorageMock); + final JsonCacheFlutterSecureStorage flutterSecureCache = + JsonCacheFlutterSecureStorage(secStorageMock); const profKey = 'profile'; const prefKey = 'preferences'; final profData = {'id': 1, 'name': 'John Due'}; @@ -60,26 +63,26 @@ void main() { 'theme': 'dark', 'notifications': {'enabled': true} }; - await secCache.refresh(profKey, profData); - await secCache.refresh(prefKey, prefData); + await flutterSecureCache.refresh(profKey, profData); + await flutterSecureCache.refresh(prefKey, prefData); expect(secStorageMock.writeInvokations, 2); - var prof = await secCache.value(profKey); + var prof = await flutterSecureCache.value(profKey); expect(prof, profData); expect(secStorageMock.readInvokations, 1); - await secCache.remove(profKey); + await flutterSecureCache.remove(profKey); expect(secStorageMock.deleteInvokations, 1); - prof = await secCache.value(profKey); + prof = await flutterSecureCache.value(profKey); expect(prof, isNull); expect(secStorageMock.readInvokations, 2); - var pref = await secCache.value(prefKey); + var pref = await flutterSecureCache.value(prefKey); expect(pref, prefData); expect(secStorageMock.readInvokations, 3); - await secCache.remove(prefKey); + await flutterSecureCache.remove(prefKey); expect(secStorageMock.deleteInvokations, 2); - pref = await secCache.value(prefKey); + pref = await flutterSecureCache.value(prefKey); expect(pref, isNull); expect(secStorageMock.readInvokations, 4); });