2411: add copyright headers to our R files.
[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         getCollectionContentCallCount = NULL,
22         getResourceSizeCallCount      = NULL,
23         readCallCount                 = NULL,
24         writeCallCount                = NULL,
25         getConnectionCallCount        = NULL,
26         writeBuffer                   = NULL,
27         filtersAreConfiguredCorrectly = NULL,
28         bodyIsConfiguredCorrectly     = NULL,
29         expectedFilterContent         = NULL,
30
31         collectionContent = NULL,
32         returnContent     = NULL,
33
34         initialize = function(collectionContent = NULL, returnContent = NULL, 
35                               expectedFilterContent = NULL)
36         {
37             self$getResourceCallCount    <- 0
38             self$createResourceCallCount <- 0
39             self$listResourcesCallCount  <- 0
40             self$deleteResourceCallCount <- 0
41             self$updateResourceCallCount <- 0
42             self$fetchAllItemsCallCount  <- 0
43
44             self$createCallCount               <- 0
45             self$deleteCallCount               <- 0
46             self$moveCallCount                 <- 0
47             self$getCollectionContentCallCount <- 0
48             self$getResourceSizeCallCount      <- 0
49             self$readCallCount                 <- 0
50             self$writeCallCount                <- 0
51             self$getConnectionCallCount        <- 0
52             self$filtersAreConfiguredCorrectly <- FALSE
53             self$bodyIsConfiguredCorrectly     <- FALSE
54
55             self$collectionContent     <- collectionContent
56             self$returnContent         <- returnContent
57             self$expectedFilterContent <- expectedFilterContent
58         },
59
60         getWebDavHostName = function()
61         {
62         },
63
64         getResource = function(resource, uuid)
65         {
66             self$getResourceCallCount <- self$getResourceCallCount + 1
67             self$returnContent
68         },
69
70         listResources = function(resource, filters = NULL, limit = 100, offset = 0)
71         {
72             self$listResourcesCallCount <- self$listResourcesCallCount + 1
73
74             if(!is.null(self$expectedFilterContent) && !is.null(filters))
75                if(all.equal(filters, self$expectedFilterContent))
76                     self$filtersAreConfiguredCorrectly <- TRUE
77
78             self$returnContent
79         },
80
81         fetchAllItems = function(resourceURL, filters)
82         {
83             self$fetchAllItemsCallCount <- self$fetchAllItemsCallCount + 1
84
85             if(!is.null(self$expectedFilterContent) && !is.null(filters))
86                if(all.equal(filters, self$expectedFilterContent))
87                     self$filtersAreConfiguredCorrectly <- TRUE
88
89             self$returnContent
90         },
91
92         deleteResource = function(resource, uuid)
93         {
94             self$deleteResourceCallCount <- self$deleteResourceCallCount + 1
95             self$returnContent
96         },
97
98         updateResource = function(resource, uuid, newContent)
99         {
100             self$updateResourceCallCount <- self$updateResourceCallCount + 1
101
102             if(!is.null(self$returnContent) && !is.null(newContent))
103                if(all.equal(newContent, self$returnContent))
104                     self$bodyIsConfiguredCorrectly <- TRUE
105
106             self$returnContent
107         },
108
109         createResource = function(resource, content)
110         {
111             self$createResourceCallCount <- self$createResourceCallCount + 1
112
113             if(!is.null(self$returnContent) && !is.null(content))
114                if(all.equal(content, self$returnContent))
115                     self$bodyIsConfiguredCorrectly <- TRUE
116
117             self$returnContent
118         },
119
120         create = function(files, uuid)
121         {
122             self$createCallCount <- self$createCallCount + 1
123             self$returnContent
124         },
125
126         delete = function(relativePath, uuid)
127         {
128             self$deleteCallCount <- self$deleteCallCount + 1
129             self$returnContent
130         },
131
132         move = function(from, to, uuid)
133         {
134             self$moveCallCount <- self$moveCallCount + 1
135             self$returnContent
136         },
137
138         getCollectionContent = function(uuid)
139         {
140             self$getCollectionContentCallCount <- self$getCollectionContentCallCount + 1
141             self$collectionContent
142         },
143
144         getResourceSize = function(uuid, relativePathToResource)
145         {
146             self$getResourceSizeCallCount <- self$getResourceSizeCallCount + 1
147             self$returnContent
148         },
149         
150         read = function(relativePath, uuid, contentType = "text", offset = 0, length = 0)
151         {
152             self$readCallCount <- self$readCallCount + 1
153             self$returnContent
154         },
155
156         write = function(uuid, relativePath, content, contentType)
157         {
158             self$writeBuffer <- content
159             self$writeCallCount <- self$writeCallCount + 1
160             self$returnContent
161         },
162
163         getConnection = function(relativePath, uuid, openMode)
164         {
165             self$getConnectionCallCount <- self$getConnectionCallCount + 1
166             self$returnContent
167         }
168     ),
169
170     cloneable = FALSE
171 )