Coverage for manila/tests/share/drivers/qnap/fakes.py: 91%
203 statements
« prev ^ index » next coverage.py v7.11.0, created at 2026-02-18 22:19 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2026-02-18 22:19 +0000
1# Copyright (c) 2016 QNAP Systems, Inc.
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
16FAKE_RES_DETAIL_DATA_LOGIN = """
17 <QDocRoot version="1.0">
18 <authPassed><![CDATA[1]]></authPassed>
19 <authSid><![CDATA[fakeSid]]></authSid>
20 </QDocRoot>"""
22FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_1_1_1 = """
23 <QDocRoot version="1.0">
24 <model>
25 <displayModelName><![CDATA[ES1640dc]]></displayModelName>
26 <internalModelName><![CDATA[ES1640dc]]></internalModelName>
27 </model>
28 <firmware>
29 <version><![CDATA[1.1.1]]></version>
30 </firmware>
31 </QDocRoot>"""
33FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_1_1_3 = """
34 <QDocRoot version="1.0">
35 <model>
36 <displayModelName><![CDATA[ES1640dc]]></displayModelName>
37 <internalModelName><![CDATA[ES1640dc]]></internalModelName>
38 </model>
39 <firmware>
40 <version><![CDATA[1.1.3]]></version>
41 </firmware>
42 </QDocRoot>"""
44FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_0_0 = """
45 <QDocRoot version="1.0">
46 <model>
47 <displayModelName><![CDATA[ES1640dc]]></displayModelName>
48 <internalModelName><![CDATA[ES1640dc]]></internalModelName>
49 </model>
50 <firmware>
51 <version><![CDATA[2.0.0]]></version>
52 </firmware>
53 </QDocRoot>"""
55FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_1_0 = """
56 <QDocRoot version="1.0">
57 <model>
58 <displayModelName><![CDATA[ES1640dc]]></displayModelName>
59 <internalModelName><![CDATA[ES1640dc]]></internalModelName>
60 </model>
61 <firmware>
62 <version><![CDATA[2.1.0]]></version>
63 </firmware>
64 </QDocRoot>"""
66FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_2_0 = """
67 <QDocRoot version="1.0">
68 <model>
69 <displayModelName><![CDATA[ES1640dc]]></displayModelName>
70 <internalModelName><![CDATA[ES1640dc]]></internalModelName>
71 </model>
72 <firmware>
73 <version><![CDATA[2.2.0]]></version>
74 </firmware>
75 </QDocRoot>"""
77FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TS_4_0_0 = """
78 <QDocRoot version="1.0">
79 <model>
80 <displayModelName><![CDATA[TS-870U]]></displayModelName>
81 <internalModelName><![CDATA[TS-870U]]></internalModelName>
82 </model>
83 <firmware>
84 <version><![CDATA[4.0.0]]></version>
85 </firmware>
86 </QDocRoot>"""
88FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TS_4_3_0 = """
89 <QDocRoot version="1.0">
90 <model>
91 <displayModelName><![CDATA[TS-870U]]></displayModelName>
92 <internalModelName><![CDATA[TS-870U]]></internalModelName>
93 </model>
94 <firmware>
95 <version><![CDATA[4.3.0]]></version>
96 </firmware>
97 </QDocRoot>"""
99FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_TS_4_0_0 = """
100 <QDocRoot version="1.0">
101 <model>
102 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
103 <internalModelName><![CDATA[TS-1885U]]></internalModelName>
104 </model>
105 <firmware>
106 <version><![CDATA[4.0.0]]></version>
107 </firmware>
108 </QDocRoot>"""
110FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_TS_4_3_0 = """
111 <QDocRoot version="1.0">
112 <model>
113 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
114 <internalModelName><![CDATA[TS-1885U]]></internalModelName>
115 </model>
116 <firmware>
117 <version><![CDATA[4.3.0]]></version>
118 </firmware>
119 </QDocRoot>"""
121FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_1_1_1 = """
122 <QDocRoot version="1.0">
123 <model>
124 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
125 <internalModelName><![CDATA[ES-1885U]]></internalModelName>
126 </model>
127 <firmware>
128 <version><![CDATA[1.1.1]]></version>
129 </firmware>
130 </QDocRoot>"""
132FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_1_1_3 = """
133 <QDocRoot version="1.0">
134 <model>
135 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
136 <internalModelName><![CDATA[ES-1885U]]></internalModelName>
137 </model>
138 <firmware>
139 <version><![CDATA[1.1.3]]></version>
140 </firmware>
141 </QDocRoot>"""
143FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_0_0 = """
144 <QDocRoot version="1.0">
145 <model>
146 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
147 <internalModelName><![CDATA[ES-1885U]]></internalModelName>
148 </model>
149 <firmware>
150 <version><![CDATA[2.0.0]]></version>
151 </firmware>
152 </QDocRoot>"""
154FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_1_0 = """
155 <QDocRoot version="1.0">
156 <model>
157 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
158 <internalModelName><![CDATA[ES-1885U]]></internalModelName>
159 </model>
160 <firmware>
161 <version><![CDATA[2.1.0]]></version>
162 </firmware>
163 </QDocRoot>"""
165FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_2_0 = """
166 <QDocRoot version="1.0">
167 <model>
168 <displayModelName><![CDATA[TES-1885U]]></displayModelName>
169 <internalModelName><![CDATA[ES-1885U]]></internalModelName>
170 </model>
171 <firmware>
172 <version><![CDATA[2.2.0]]></version>
173 </firmware>
174 </QDocRoot>"""
176FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ERROR = """
177 <QDocRoot version="1.0">
178 <model>
179 <displayModelName><![CDATA[TTS-1885U]]></displayModelName>
180 <internalModelName><![CDATA[TTS-1885U]]></internalModelName>
181 </model>
182 <firmware>
183 <version><![CDATA[1.1.3]]></version>
184 </firmware>
185 </QDocRoot>"""
187FAKE_RES_DETAIL_DATA_SHARE_INFO = """
188 <QDocRoot version="1.0">
189 <authPassed><![CDATA[1]]></authPassed>
190 <Volume_Info>
191 <row>
192 <vol_no><![CDATA[fakeNo]]></vol_no>
193 <vol_label><![CDATA[fakeShareName]]></vol_label>
194 </row>
195 </Volume_Info>
196 <result><![CDATA[0]]></result>
197 </QDocRoot>"""
199FAKE_RES_DETAIL_DATA_VOLUME_INFO = """
200 <QDocRoot version="1.0">
201 <authPassed><![CDATA[1]]></authPassed>
202 <Volume_Info>
203 <row>
204 <vol_no><![CDATA[fakeNo]]></vol_no>
205 <size><![CDATA[10]]></size>
206 <vol_mount_path>fakeMountPath</vol_mount_path>
207 <dedup><![CDATA[off]]></dedup>
208 <compression><![CDATA[1]]></compression>
209 <thin_pro><![CDATA[1]]></thin_pro>
210 <cache><![CDATA[0]]></cache>
211 </row>
212 </Volume_Info>
213 <result><![CDATA[0]]></result>
214 </QDocRoot>"""
216FAKE_RES_DETAIL_DATA_SNAPSHOT = """
217 <QDocRoot version="1.0">
218 <authPassed><![CDATA[1]]></authPassed>
219 <SnapshotList>
220 <row>
221 <snapshot_id><![CDATA[fakeSnapshotId]]></snapshot_id>
222 <snapshot_name><![CDATA[fakeSnapshotName]]></snapshot_name>
223 <parent_size>10</parent_size>
224 </row>
225 </SnapshotList>
226 <result><![CDATA[0]]></result>
227 </QDocRoot>"""
229FAKE_RES_DETAIL_DATA_SPECIFIC_POOL_INFO = """
230 <QDocRoot version="1.0">
231 <authPassed><![CDATA[1]]></authPassed>
232 <Pool_Index>
233 <row>
234 <poolIndex><![CDATA[fakePoolIndex]]></poolIndex>
235 <poolID><![CDATA[fakePoolId]]></poolID>
236 <pool_status><![CDATA[0]]></pool_status>
237 <capacity_bytes><![CDATA[930213412209]]></capacity_bytes>
238 <allocated_bytes><![CDATA[1480470528]]></allocated_bytes>
239 <freesize_bytes><![CDATA[928732941681]]></freesize_bytes>
240 <lun_meta_reserve_ratio><![CDATA[0.0315]]></lun_meta_reserve_ratio>
241 <pool_capacity><![CDATA[866 GB]]></pool_capacity>
242 <pool_allocated><![CDATA[1.38 GB]]></pool_allocated>
243 <pool_freesize><![CDATA[865 GB]]></pool_freesize>
244 <pool_threshold><![CDATA[80 %]]></pool_threshold>
245 <pool_used><![CDATA[0 %]]></pool_used>
246 <pool_available><![CDATA[100 %]]></pool_available>
247 <pool_owner><![CDATA[SCA]]></pool_owner>
248 <pool_type><![CDATA[mirror]]></pool_type>
249 <pool_dedup><![CDATA[1.00]]></pool_dedup>
250 <pool_bound><![CDATA[0]]></pool_bound>
251 <pool_progress><![CDATA[0]]></pool_progress>
252 <pool_scrub><![CDATA[0]]></pool_scrub>
253 </row>
254 </Pool_Index>
255 <result><![CDATA[0]]></result>
256 </QDocRoot>"""
258FAKE_RES_DETAIL_DATA_GET_HOST_LIST = """
259 <QDocRoot version="1.0">
260 <authPassed><![CDATA[1]]></authPassed>
261 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
262 <host_list>
263 <host>
264 <index><![CDATA[fakeHostIndex]]></index>
265 <hostid><![CDATA[fakeHostId]]></hostid>
266 <name><![CDATA[manila-fakeHostName]]></name>
267 <netaddrs>
268 <ipv4>
269 <![CDATA[fakeIp]]>
270 </ipv4>
271 </netaddrs>
272 </host>
273 </host_list>
274 <result><![CDATA[0]]></result>
275 </QDocRoot>"""
277FAKE_RES_DETAIL_DATA_CREATE_SHARE = """
278 <QDocRoot version="1.0">
279 <authPassed><![CDATA[1]]></authPassed>
280 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
281 <func>
282 <ownContent>
283 <volumeList>
284 <volume>
285 <volumeStatus><![CDATA[fakeStatus]]></volumeStatus>
286 <volumeLabel><![CDATA[fakeLabel]]></volumeLabel>
287 <volumeValue><![CDATA[faleValue]]></volumeValue>
288 </volume>
289 </volumeList>
290 </ownContent>
291 </func>
292 </QDocRoot>"""
294FAKE_RES_DETAIL_DATA_ES_RET_CODE_NEGATIVE = """
295 <QDocRoot version="1.0">
296 <authPassed><![CDATA[1]]></authPassed>
297 <ES_RET_CODE><![CDATA[-1]]></ES_RET_CODE>
298 </QDocRoot>"""
301FAKE_RES_DETAIL_DATA_RESULT_NEGATIVE = """
302 <QDocRoot version="1.0">
303 <authPassed><![CDATA[1]]></authPassed>
304 <result><![CDATA[-1]]></result>
305 </QDocRoot>"""
307FAKE_RES_DETAIL_DATA_AUTHPASS_FAIL = """
308 <QDocRoot version="1.0">
309 <authPassed><![CDATA[0]]></authPassed>
310 </QDocRoot>"""
312FAKE_RES_DETAIL_DATA_DELETE_SHARE = """
313 <QDocRoot version="1.0">
314 <authPassed><![CDATA[1]]></authPassed>
315 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
316 <result>0</result>
317 </QDocRoot>"""
319FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT = """
320 <QDocRoot version="1.0">
321 <authPassed><![CDATA[1]]></authPassed>
322 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
323 <result>0</result>
324 </QDocRoot>"""
326FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT_SNAPSHOT_NOT_EXIST = """
327 <QDocRoot version="1.0">
328 <authPassed><![CDATA[1]]></authPassed>
329 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
330 <result>-206021</result>
331 </QDocRoot>"""
333FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT_SHARE_NOT_EXIST = """
334 <QDocRoot version="1.0">
335 <authPassed><![CDATA[1]]></authPassed>
336 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
337 <result>-200005</result>
338 </QDocRoot>"""
340FAKE_RES_DETAIL_DATA_GET_HOST_LIST_API = """
341 <QDocRoot version="1.0">
342 <authPassed><![CDATA[1]]></authPassed>
343 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
344 <content>
345 <host_list>
346 <host>
347 <index><![CDATA[fakeHostIndex]]></index>
348 <hostid><![CDATA[fakeHostId]]></hostid>
349 <name><![CDATA[manila-hst-123]]></name>
350 <netaddrs>
351 <ipv4>
352 <![CDATA[fakeIp]]>
353 </ipv4>
354 </netaddrs>
355 </host>
356 </host_list>
357 </content>
358 <result><![CDATA[0]]></result>
359 </QDocRoot>"""
361FAKE_RES_DETAIL_DATA_GET_NO_HOST_LIST_API = """
362 <QDocRoot version="1.0">
363 <authPassed><![CDATA[1]]></authPassed>
364 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
365 <content>
366 </content>
367 <result><![CDATA[0]]></result>
368 </QDocRoot>"""
370FAKE_RES_DETAIL_DATA_CREATE_SNAPSHOT = """
371 <QDocRoot version="1.0">
372 <authPassed><![CDATA[1]]></authPassed>
373 <ES_RET_CODE><![CDATA[1]]></ES_RET_CODE>
374 </QDocRoot>"""
377class SnapshotClass(object):
378 """Snapshot Class."""
380 size = 0
381 provider_location = 'fakeShareName@fakeSnapshotName'
383 def __init__(self, size, provider_location=None):
384 """Init."""
385 self.size = size
386 self.provider_location = provider_location
388 def get(self, provider_location):
389 """Get function."""
390 return self.provider_location
392 def __getitem__(self, arg):
393 """Getitem."""
394 return {
395 'display_name': 'fakeSnapshotDisplayName',
396 'id': 'fakeSnapshotId',
397 'share': {'share_id': 'fakeShareId', 'id': 'fakeId'},
398 'share_instance': {'share_id': 'fakeShareId', 'id': 'fakeId'},
399 'size': self.size,
400 'share_instance_id': 'fakeShareId'
401 }[arg]
403 def __setitem__(self, key, value):
404 """Setitem."""
405 if key == 'provider_location':
406 self.provider_location = value
409class ShareNfsClass(object):
410 """Share Class."""
412 share_proto = 'NFS'
413 id = ''
414 size = 0
416 def __init__(self, share_id, size):
417 """Init."""
418 self.id = share_id
419 self.size = size
421 def __getitem__(self, arg):
422 """Getitem."""
423 return {
424 'share_proto': self.share_proto,
425 'id': self.id,
426 'display_name': 'fakeDisplayName',
427 'export_locations': [{'path': '1.2.3.4:/share/fakeShareName'}],
428 'host': 'QnapShareDriver',
429 'size': self.size
430 }[arg]
432 def __setitem__(self, key, value):
433 """Setitem."""
434 if key == 'share_proto':
435 self.share_proto = value
438class ShareCifsClass(object):
439 """Share Class."""
441 share_proto = 'CIFS'
442 id = ''
443 size = 0
445 def __init__(self, share_id, size):
446 """Init."""
447 self.id = share_id
448 self.size = size
450 def __getitem__(self, arg):
451 """Getitem."""
452 return {
453 'share_proto': self.share_proto,
454 'id': self.id,
455 'display_name': 'fakeDisplayName',
456 'export_locations': [{'path': '\\\\1.2.3.4\\fakeShareName'}],
457 'host': 'QnapShareDriver',
458 'size': self.size
459 }[arg]
461 def __setitem__(self, key, value):
462 """Setitem."""
463 if key == 'share_proto':
464 self.share_proto = value
467class AccessClass(object):
468 """Access Class."""
470 access_type = 'fakeAccessType'
471 access_level = 'ro'
472 access_to = 'fakeIp'
474 def __init__(self, access_type, access_level, access_to):
475 """Init."""
476 self.access_type = access_type
477 self.access_level = access_level
478 self.access_to = access_to
480 def __getitem__(self, arg):
481 """Getitem."""
482 return {
483 'access_type': self.access_type,
484 'access_level': self.access_level,
485 'access_to': self.access_to,
486 }[arg]
489class FakeGetBasicInfoResponseEs_1_1_1(object):
490 """Fake GetBasicInfo response from ES nas."""
492 status = 'fackStatus'
494 def read(self):
495 """Mock response.read."""
496 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_1_1_1
499class FakeGetBasicInfoResponseEs_1_1_3(object):
500 """Fake GetBasicInfo response from ES nas."""
502 status = 'fackStatus'
504 def read(self):
505 """Mock response.read."""
506 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_1_1_3
509class FakeGetBasicInfoResponseEs_2_0_0(object):
510 """Fake GetBasicInfo response from ES nas."""
512 status = 'fackStatus'
514 def read(self):
515 """Mock response.read."""
516 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_0_0
519class FakeGetBasicInfoResponseEs_2_1_0(object):
520 """Fake GetBasicInfo response from ES nas."""
522 status = 'fackStatus'
524 def read(self):
525 """Mock response.read."""
526 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_1_0
529class FakeGetBasicInfoResponseEs_2_2_0(object):
530 """Fake GetBasicInfo response from ES nas."""
532 status = 'fackStatus'
534 def read(self):
535 """Mock response.read."""
536 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ES_2_2_0
539class FakeGetBasicInfoResponseTs_4_0_0(object):
540 """Fake GetBasicInfoTS response from TS nas."""
542 status = 'fackStatus'
544 def read(self):
545 """Mock response.read."""
546 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TS_4_0_0
549class FakeGetBasicInfoResponseTs_4_3_0(object):
550 """Fake GetBasicInfoTS response from TS nas."""
552 status = 'fackStatus'
554 def read(self):
555 """Mock response.read."""
556 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TS_4_3_0
559class FakeGetBasicInfoResponseTesTs_4_0_0(object):
560 """Fake GetBasicInfoTS response from TS nas."""
562 status = 'fackStatus'
564 def read(self):
565 """Mock response.read."""
566 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_TS_4_0_0
569class FakeGetBasicInfoResponseTesTs_4_3_0(object):
570 """Fake GetBasicInfoTS response from TS nas."""
572 status = 'fackStatus'
574 def read(self):
575 """Mock response.read."""
576 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_TS_4_3_0
579class FakeGetBasicInfoResponseTesEs_1_1_1(object):
580 """Fake GetBasicInfoTS response from TS nas."""
582 status = 'fackStatus'
584 def read(self):
585 """Mock response.read."""
586 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_1_1_1
589class FakeGetBasicInfoResponseTesEs_1_1_3(object):
590 """Fake GetBasicInfoTS response from TS nas."""
592 status = 'fackStatus'
594 def read(self):
595 """Mock response.read."""
596 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_1_1_3
599class FakeGetBasicInfoResponseTesEs_2_0_0(object):
600 """Fake GetBasicInfoTS response from TS nas."""
602 status = 'fackStatus'
604 def read(self):
605 """Mock response.read."""
606 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_0_0
609class FakeGetBasicInfoResponseTesEs_2_1_0(object):
610 """Fake GetBasicInfoTS response from TS nas."""
612 status = 'fackStatus'
614 def read(self):
615 """Mock response.read."""
616 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_1_0
619class FakeGetBasicInfoResponseTesEs_2_2_0(object):
620 """Fake GetBasicInfoTS response from TS nas."""
622 status = 'fackStatus'
624 def read(self):
625 """Mock response.read."""
626 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_TES_ES_2_2_0
629class FakeGetBasicInfoResponseError(object):
630 """Fake GetBasicInfoTS response from TS nas."""
632 status = 'fackStatus'
634 def read(self):
635 """Mock response.read."""
636 return FAKE_RES_DETAIL_DATA_GETBASIC_INFO_ERROR
639class FakeCreateShareResponse(object):
640 """Fake login response."""
642 status = 'fackStatus'
644 def read(self):
645 """Mock response.read."""
646 return FAKE_RES_DETAIL_DATA_CREATE_SHARE
649class FakeDeleteShareResponse(object):
650 """Fake login response."""
652 status = 'fackStatus'
654 def read(self):
655 """Mock response.read."""
656 return FAKE_RES_DETAIL_DATA_DELETE_SHARE
659class FakeDeleteSnapshotResponse(object):
660 """Fake delete snapshot response."""
662 status = 'fackStatus'
664 def read(self):
665 """Mock response.read."""
666 return FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT
669class FakeDeleteSnapshotResponseSnapshotNotExist(object):
670 """Fake delete snapshot response."""
672 status = 'fackStatus'
674 def read(self):
675 """Mock response.read."""
676 return FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT_SNAPSHOT_NOT_EXIST
679class FakeDeleteSnapshotResponseShareNotExist(object):
680 """Fake delete snapshot response."""
682 status = 'fackStatus'
684 def read(self):
685 """Mock response.read."""
686 return FAKE_RES_DETAIL_DATA_DELETE_SNAPSHOT_SHARE_NOT_EXIST
689class FakeGetHostListResponse(object):
690 """Fake host info response."""
692 status = 'fackStatus'
694 def read(self):
695 """Mock response.read."""
696 return FAKE_RES_DETAIL_DATA_GET_HOST_LIST_API
699class FakeGetNoHostListResponse(object):
700 """Fake host info response."""
702 status = 'fackStatus'
704 def read(self):
705 """Mock response.read."""
706 return FAKE_RES_DETAIL_DATA_GET_NO_HOST_LIST_API
709class FakeAuthPassFailResponse(object):
710 """Fake pool info response."""
712 status = 'fackStatus'
714 def read(self):
715 """Mock response.read."""
716 return FAKE_RES_DETAIL_DATA_AUTHPASS_FAIL
719class FakeEsResCodeNegativeResponse(object):
720 """Fake pool info response."""
722 status = 'fackStatus'
724 def read(self):
725 """Mock response.read."""
726 return FAKE_RES_DETAIL_DATA_ES_RET_CODE_NEGATIVE
729class FakeResultNegativeResponse(object):
730 """Fake pool info response."""
732 status = 'fackStatus'
734 def read(self):
735 """Mock response.read."""
736 return FAKE_RES_DETAIL_DATA_RESULT_NEGATIVE
739class FakeLoginResponse(object):
740 """Fake login response."""
742 status = 'fackStatus'
744 def read(self):
745 """Mock response.read."""
746 return FAKE_RES_DETAIL_DATA_LOGIN
749class FakeSpecificPoolInfoResponse(object):
750 """Fake pool info response."""
752 status = 'fackStatus'
754 def read(self):
755 """Mock response.read."""
756 return FAKE_RES_DETAIL_DATA_SPECIFIC_POOL_INFO
759class FakeShareInfoResponse(object):
760 """Fake pool info response."""
762 status = 'fackStatus'
764 def read(self):
765 """Mock response.read."""
766 return FAKE_RES_DETAIL_DATA_SHARE_INFO
769class FakeSnapshotInfoResponse(object):
770 """Fake pool info response."""
772 status = 'fackStatus'
774 def read(self):
775 """Mock response.read."""
776 return FAKE_RES_DETAIL_DATA_SNAPSHOT
779class FakeSpecificVolInfoResponse(object):
780 """Fake pool info response."""
782 status = 'fackStatus'
784 def read(self):
785 """Mock response.read."""
786 return FAKE_RES_DETAIL_DATA_VOLUME_INFO
789class FakeCreateSnapshotResponse(object):
790 """Fake pool info response."""
792 status = 'fackStatus'
794 def read(self):
795 """Mock response.read."""
796 return FAKE_RES_DETAIL_DATA_CREATE_SNAPSHOT