@budibase/worker 3.20.15 → 3.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/worker",
3
3
  "email": "hi@budibase.com",
4
- "version": "3.20.15",
4
+ "version": "3.21.1",
5
5
  "description": "Budibase background service",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -110,5 +110,5 @@
110
110
  }
111
111
  }
112
112
  },
113
- "gitHead": "29787f399c811acf15104c21c88e2355fb726eb3"
113
+ "gitHead": "f418556d9428cc85c6d0ca8176d92904d57d3266"
114
114
  }
@@ -1210,6 +1210,61 @@ describe("scim", () => {
1210
1210
  const persistedGroup = await config.api.scimGroupsAPI.find(group.id)
1211
1211
  expect(persistedGroup).toEqual(expectedScimGroup)
1212
1212
  })
1213
+
1214
+ it("succeeds when removing a member that no longer exists", async () => {
1215
+ const userToRemove = users[6]
1216
+
1217
+ // ensure the user is a member first
1218
+ await patchScimGroup({
1219
+ id: group.id,
1220
+ body: {
1221
+ schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
1222
+ Operations: [
1223
+ {
1224
+ op: "Add",
1225
+ path: "members",
1226
+ value: [
1227
+ {
1228
+ $ref: null,
1229
+ value: userToRemove.id,
1230
+ },
1231
+ ],
1232
+ },
1233
+ ],
1234
+ },
1235
+ })
1236
+
1237
+ // deleting the user simulates Azure holding on to a stale reference
1238
+ await config.api.users.deleteUser(userToRemove.id)
1239
+
1240
+ const groupBeforeRemoval = await config.api.scimGroupsAPI.find(
1241
+ group.id
1242
+ )
1243
+
1244
+ const response = await patchScimGroup({
1245
+ id: group.id,
1246
+ body: {
1247
+ schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
1248
+ Operations: [
1249
+ {
1250
+ op: "Remove",
1251
+ path: "members",
1252
+ value: [
1253
+ {
1254
+ $ref: null,
1255
+ value: userToRemove.id,
1256
+ },
1257
+ ],
1258
+ },
1259
+ ],
1260
+ },
1261
+ })
1262
+
1263
+ expect(response).toEqual(groupBeforeRemoval)
1264
+
1265
+ const persistedGroup = await config.api.scimGroupsAPI.find(group.id)
1266
+ expect(persistedGroup).toEqual(groupBeforeRemoval)
1267
+ })
1213
1268
  })
1214
1269
  })
1215
1270
  })