|
1 | 1 | /* |
2 | | - * Copyright © 2018, 2019 IBM Corp. All rights reserved. |
| 2 | + * Copyright © 2018, 2020 IBM Corp. All rights reserved. |
3 | 3 | * |
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file |
5 | 5 | * except in compliance with the License. You may obtain a copy of the License at |
@@ -152,4 +152,73 @@ public void getDbInfoDocDelCount() { |
152 | 152 | assertEquals(7l, info.getDocDelCountLong()); |
153 | 153 | } |
154 | 154 |
|
| 155 | + /** |
| 156 | + * Make sure the fallback caused by disk_size 0, doesn't cause an exception |
| 157 | + */ |
| 158 | + @Test |
| 159 | + public void getDbInfoDiskSizeZeroWithoutException() { |
| 160 | + CloudantClient c = CloudantClientHelper.newMockWebServerClientBuilder(server).build(); |
| 161 | + Database db = c.database("animaldb", false); |
| 162 | + |
| 163 | + MockResponse response = new MockResponse() |
| 164 | + .setResponseCode(200) |
| 165 | + .setBody("{\"disk_size\":0}"); |
| 166 | + server.enqueue(response); |
| 167 | + |
| 168 | + DbInfo info = db.info(); |
| 169 | + assertEquals(0L, info.getDiskSize(), "The mock disk size should be 0"); |
| 170 | + } |
| 171 | + |
| 172 | + /** |
| 173 | + * Make sure disk_size still works |
| 174 | + */ |
| 175 | + @Test |
| 176 | + public void getDbInfoDiskSize() { |
| 177 | + CloudantClient c = CloudantClientHelper.newMockWebServerClientBuilder(server).build(); |
| 178 | + Database db = c.database("animaldb", false); |
| 179 | + |
| 180 | + MockResponse response = new MockResponse() |
| 181 | + .setResponseCode(200) |
| 182 | + .setBody("{\"disk_size\":17}"); |
| 183 | + server.enqueue(response); |
| 184 | + |
| 185 | + DbInfo info = db.info(); |
| 186 | + assertEquals(17L, info.getDiskSize(), "The mock disk size should be 17"); |
| 187 | + } |
| 188 | + |
| 189 | + /** |
| 190 | + * Make sure disk_size using sizes works |
| 191 | + */ |
| 192 | + @Test |
| 193 | + public void getDbInfoDiskSizeFromSizes() { |
| 194 | + CloudantClient c = CloudantClientHelper.newMockWebServerClientBuilder(server).build(); |
| 195 | + Database db = c.database("animaldb", false); |
| 196 | + |
| 197 | + MockResponse response = new MockResponse() |
| 198 | + .setResponseCode(200) |
| 199 | + .setBody("{\"sizes\": {\"active\": 21, \"external\":22, \"file\": 23}}"); |
| 200 | + server.enqueue(response); |
| 201 | + |
| 202 | + DbInfo info = db.info(); |
| 203 | + assertEquals(23L, info.getDiskSize(), "The mock disk size should be 23"); |
| 204 | + } |
| 205 | + |
| 206 | + /** |
| 207 | + * Make sure disk_size using sizes works |
| 208 | + */ |
| 209 | + @Test |
| 210 | + public void getDbInfoSizes() { |
| 211 | + CloudantClient c = CloudantClientHelper.newMockWebServerClientBuilder(server).build(); |
| 212 | + Database db = c.database("animaldb", false); |
| 213 | + |
| 214 | + MockResponse response = new MockResponse() |
| 215 | + .setResponseCode(200) |
| 216 | + .setBody("{\"sizes\": {\"active\": 21, \"external\":22, \"file\": 23}}"); |
| 217 | + server.enqueue(response); |
| 218 | + |
| 219 | + DbInfo info = db.info(); |
| 220 | + assertEquals(21L, info.getSizes().getActive(), "The mock active disk size should be 21"); |
| 221 | + assertEquals(22L, info.getSizes().getExternal(), "The mock external disk size should be 22"); |
| 222 | + assertEquals(23L, info.getSizes().getFile(), "The mock file disk size should be 23"); |
| 223 | + } |
155 | 224 | } |
0 commit comments