Fix tenancy issues

This commit is contained in:
adrinr 2023-01-30 16:45:04 +00:00
parent e074030a0f
commit 55de45e86b
3 changed files with 14 additions and 8 deletions

View File

@ -18,7 +18,7 @@ describe("/api/global/tenants", () => {
describe("DELETE /api/system/tenants/:tenantId", () => { describe("DELETE /api/system/tenants/:tenantId", () => {
it("allows deleting the current tenant", async () => { it("allows deleting the current tenant", async () => {
const user = await config.createTenant() const user = await config.createTenant({ addTenantToGlobalDb: true })
await config.api.tenants.delete(user.tenantId, { await config.api.tenants.delete(user.tenantId, {
headers: config.authHeaders(user), headers: config.authHeaders(user),
@ -26,9 +26,9 @@ describe("/api/global/tenants", () => {
}) })
it("rejects deleting another tenant", async () => { it("rejects deleting another tenant", async () => {
const user1 = await config.createTenant() const user1 = await config.createTenant({ addTenantToGlobalDb: true })
// create a second user in another tenant // create a second user in another tenant
const user2 = await config.createTenant() const user2 = await config.createTenant({ addTenantToGlobalDb: true })
const status = 403 const status = 403
const res = await config.api.tenants.delete(user1.tenantId, { const res = await config.api.tenants.delete(user1.tenantId, {
@ -43,7 +43,7 @@ describe("/api/global/tenants", () => {
}) })
it("rejects non-admin", async () => { it("rejects non-admin", async () => {
const user1 = await config.createTenant() const user1 = await config.createTenant({ addTenantToGlobalDb: true })
// create an internal non-admin user // create an internal non-admin user
const user2 = await tenancy.doInTenant(user1.tenantId, () => { const user2 = await tenancy.doInTenant(user1.tenantId, () => {
return config.createUser() return config.createUser()

View File

@ -17,7 +17,7 @@ describe("tenancy middleware", () => {
}) })
it("should get tenant id from user", async () => { it("should get tenant id from user", async () => {
const user = await config.createTenant() const user = await config.createTenant({ addTenantToGlobalDb: false })
await config.createSession(user) await config.createSession(user)
const res = await config.api.self.getSelf(user) const res = await config.api.self.getSelf(user)
expect(res.headers[constants.Header.TENANT_ID]).toBe(user.tenantId) expect(res.headers[constants.Header.TENANT_ID]).toBe(user.tenantId)
@ -54,7 +54,7 @@ describe("tenancy middleware", () => {
}) })
it("should get tenant id from path variable", async () => { it("should get tenant id from path variable", async () => {
const user = await config.createTenant() const user = await config.createTenant({ addTenantToGlobalDb: false })
const res = await config.request const res = await config.request
.post(`/api/global/auth/${user.tenantId}/login`) .post(`/api/global/auth/${user.tenantId}/login`)
.send({ .send({

View File

@ -136,12 +136,18 @@ class TestConfiguration {
// TENANCY // TENANCY
createTenant = async (): Promise<User> => { createTenant = async ({
addTenantToGlobalDb,
}: {
addTenantToGlobalDb: boolean
}): Promise<User> => {
// create user / new tenant // create user / new tenant
const res = await this.api.users.createAdminUser() const res = await this.api.users.createAdminUser()
// This needs to be added because it was disabled for bulk testing: // https://github.com/Budibase/budibase/issues/6134 // This needs to be added because it was disabled for bulk testing: // https://github.com/Budibase/budibase/issues/6134
if (addTenantToGlobalDb) {
await sdk.users.addTenant(res.tenantId, res.userId, res.email) await sdk.users.addTenant(res.tenantId, res.userId, res.email)
}
// return the created user // return the created user
const userRes = await this.api.users.getUser(res.userId, { const userRes = await this.api.users.getUser(res.userId, {