Fix 2.4.2 upgrade notes formatting refs #19330
[arvados.git] / sdk / R / tests / testthat / fakes / FakeRESTService.R
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 FakeRESTService <- R6::R6Class(
6
7     "FakeRESTService",
8
9     public = list(
10
11         getResourceCallCount    = NULL,
12         createResourceCallCount = NULL,
13         listResourcesCallCount  = NULL,
14         deleteResourceCallCount = NULL,
15         updateResourceCallCount = NULL,
16         fetchAllItemsCallCount  = NULL,
17
18         createCallCount               = NULL,
19         deleteCallCount               = NULL,
20         moveCallCount                 = NULL,
21         copyCallCount                 = NULL,
22         getCollectionContentCallCount = NULL,
23         getResourceSizeCallCount      = NULL,
24         readCallCount                 = NULL,
25         writeCallCount                = NULL,
26         getConnectionCallCount        = NULL,
27         writeBuffer                   = NULL,
28         filtersAreConfiguredCorrectly = NULL,
29         bodyIsConfiguredCorrectly     = NULL,
30         expectedFilterContent         = NULL,
31
32         collectionContent = NULL,
33         returnContent     = NULL,
34
35         initialize = function(collectionContent = NULL, returnContent = NULL,
36                               expectedFilterContent = NULL)
37         {
38             self$getResourceCallCount    <- 0
39             self$createResourceCallCount <- 0
40             self$listResourcesCallCount  <- 0
41             self$deleteResourceCallCount <- 0
42             self$updateResourceCallCount <- 0
43             self$fetchAllItemsCallCount  <- 0
44
45             self$createCallCount               <- 0
46             self$deleteCallCount               <- 0
47             self$moveCallCount                 <- 0
48             self$copyCallCount                 <- 0
49             self$getCollectionContentCallCount <- 0
50             self$getResourceSizeCallCount      <- 0
51             self$readCallCount                 <- 0
52             self$writeCallCount                <- 0
53             self$getConnectionCallCount        <- 0
54             self$filtersAreConfiguredCorrectly <- FALSE
55             self$bodyIsConfiguredCorrectly     <- FALSE
56
57             self$collectionContent     <- collectionContent
58             self$returnContent         <- returnContent
59             self$expectedFilterContent <- expectedFilterContent
60         },
61
62         getWebDavHostName = function()
63         {
64         },
65
66         getResource = function(resource, uuid)
67         {
68             self$getResourceCallCount <- self$getResourceCallCount + 1
69             self$returnContent
70         },
71
72         listResources = function(resource, filters = NULL, limit = 100, offset = 0)
73         {
74             self$listResourcesCallCount <- self$listResourcesCallCount + 1
75
76             if(!is.null(self$expectedFilterContent) && !is.null(filters))
77                if(all.equal(filters, self$expectedFilterContent))
78                     self$filtersAreConfiguredCorrectly <- TRUE
79
80             self$returnContent
81         },
82
83         fetchAllItems = function(resourceURL, filters)
84         {
85             self$fetchAllItemsCallCount <- self$fetchAllItemsCallCount + 1
86
87             if(!is.null(self$expectedFilterContent) && !is.null(filters))
88                if(all.equal(filters, self$expectedFilterContent))
89                     self$filtersAreConfiguredCorrectly <- TRUE
90
91             self$returnContent
92         },
93
94         deleteResource = function(resource, uuid)
95         {
96             self$deleteResourceCallCount <- self$deleteResourceCallCount + 1
97             self$returnContent
98         },
99
100         updateResource = function(resource, uuid, newContent)
101         {
102             self$updateResourceCallCount <- self$updateResourceCallCount + 1
103
104             if(!is.null(self$returnContent) && !is.null(newContent))
105                if(all.equal(newContent, self$returnContent))
106                     self$bodyIsConfiguredCorrectly <- TRUE
107
108             self$returnContent
109         },
110
111         createResource = function(resource, content)
112         {
113             self$createResourceCallCount <- self$createResourceCallCount + 1
114
115             if(!is.null(self$returnContent) && !is.null(content))
116                if(all.equal(content, self$returnContent))
117                     self$bodyIsConfiguredCorrectly <- TRUE
118
119             self$returnContent
120         },
121
122         create = function(files, uuid)
123         {
124             self$createCallCount <- self$createCallCount + 1
125             self$returnContent
126         },
127
128         delete = function(relativePath, uuid)
129         {
130             self$deleteCallCount <- self$deleteCallCount + 1
131             self$returnContent
132         },
133
134         move = function(from, to, uuid)
135         {
136             self$moveCallCount <- self$moveCallCount + 1
137             self$returnContent
138         },
139
140         copy = function(from, to, uuid)
141         {
142             self$copyCallCount <- self$copyCallCount + 1
143             self$returnContent
144         },
145
146         getCollectionContent = function(uuid)
147         {
148             self$getCollectionContentCallCount <- self$getCollectionContentCallCount + 1
149             self$collectionContent
150         },
151
152         getResourceSize = function(uuid, relativePathToResource)
153         {
154             self$getResourceSizeCallCount <- self$getResourceSizeCallCount + 1
155             self$returnContent
156         },
157
158         read = function(relativePath, uuid, contentType = "text", offset = 0, length = 0)
159         {
160             self$readCallCount <- self$readCallCount + 1
161             self$returnContent
162         },
163
164         write = function(relativePath, uuid, content, contentType)
165         {
166             self$writeBuffer <- content
167             self$writeCallCount <- self$writeCallCount + 1
168             self$returnContent
169         },
170
171         getConnection = function(uuid, relativePath, openMode)
172         {
173             self$getConnectionCallCount <- self$getConnectionCallCount + 1
174             self$returnContent
175         }
176     ),
177
178     cloneable = FALSE
179 )