ArbitraryDataProviderIT.kt 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. *
  3. * Nextcloud Android client application
  4. *
  5. * @author Tobias Kaminsky
  6. * Copyright (C) 2020 Tobias Kaminsky
  7. * Copyright (C) 2020 Nextcloud GmbH
  8. *
  9. * This program is free software: you can redistribute it and/or modify
  10. * it under the terms of the GNU Affero General Public License as published by
  11. * the Free Software Foundation, either version 3 of the License, or
  12. * (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU Affero General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Affero General Public License
  20. * along with this program. If not, see <https://www.gnu.org/licenses/>.
  21. */
  22. package com.owncloud.android.datamodel
  23. import com.owncloud.android.AbstractIT
  24. import org.junit.Assert.assertEquals
  25. import org.junit.Test
  26. class ArbitraryDataProviderIT : AbstractIT() {
  27. @Test
  28. fun testEmpty() {
  29. val key = "DUMMY_KEY"
  30. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, "")
  31. assertEquals("", arbitraryDataProvider.getValue(user.accountName, key))
  32. }
  33. @Test
  34. fun testString() {
  35. val key = "DUMMY_KEY"
  36. var value = "123"
  37. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value)
  38. assertEquals(value, arbitraryDataProvider.getValue(user.accountName, key))
  39. value = ""
  40. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value)
  41. assertEquals(value, arbitraryDataProvider.getValue(user.accountName, key))
  42. value = "-1"
  43. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value)
  44. assertEquals(value, arbitraryDataProvider.getValue(user.accountName, key))
  45. }
  46. @Test
  47. fun testBoolean() {
  48. val key = "DUMMY_KEY"
  49. var value = true
  50. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value)
  51. assertEquals(value, arbitraryDataProvider.getBooleanValue(user.accountName, key))
  52. value = false
  53. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value)
  54. assertEquals(value, arbitraryDataProvider.getBooleanValue(user.accountName, key))
  55. }
  56. @Test
  57. fun testInteger() {
  58. val key = "DUMMY_KEY"
  59. var value = 1
  60. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value.toString())
  61. assertEquals(value, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  62. value = -1
  63. arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, key, value.toString())
  64. assertEquals(value, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  65. }
  66. @Test
  67. fun testIncrement() {
  68. val key = "INCREMENT"
  69. // key does not exist
  70. assertEquals(-1, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  71. // increment -> 1
  72. arbitraryDataProvider.incrementValue(user.accountName, key)
  73. assertEquals(1, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  74. // increment -> 2
  75. arbitraryDataProvider.incrementValue(user.accountName, key)
  76. assertEquals(2, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  77. // delete
  78. arbitraryDataProvider.deleteKeyForAccount(user.accountName, key)
  79. assertEquals(-1, arbitraryDataProvider.getIntegerValue(user.accountName, key))
  80. }
  81. }