github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/migration/update_cf_auth_test.go (about) 1 package migration_test 2 3 import ( 4 "database/sql" 5 6 . "github.com/onsi/ginkgo" 7 ) 8 9 var _ = Describe("Update cf auth", func() { 10 const preMigrationVersion = 1569945021 11 const postMigrationVersion = 1572899256 12 13 var ( 14 db *sql.DB 15 ) 16 17 Context("Up", func() { 18 It("migrates cf auth with form ORG:SPACE to ORG:SPACE:developer", func() { 19 20 db = postgresRunner.OpenDBAtVersion(preMigrationVersion) 21 SetupTeam(db, "main", `{"owner":{"groups":["cf:test-org:space1","cf:test-org"],"users":["local:test"]}}`) 22 db.Close() 23 24 db = postgresRunner.OpenDBAtVersion(postMigrationVersion) 25 ExpectTeamWithAuth(db, "main", `{"owner":{"groups":["cf:test-org:space1:developer","cf:test-org"],"users":["local:test"]}}`) 26 db.Close() 27 }) 28 29 It("migrates cf auth with a bunch of different cf:cf combinations", func() { 30 31 db = postgresRunner.OpenDBAtVersion(preMigrationVersion) 32 SetupTeam(db, "main", `{"owner":{"groups":["cf","cf:cf","cf:cf:cf","cf:cf:cf:cf","cf:cf:cf:cf:cf"],"users":["local:cf"]}}`) 33 db.Close() 34 35 db = postgresRunner.OpenDBAtVersion(postMigrationVersion) 36 ExpectTeamWithAuth(db, "main", `{"owner":{"groups":["cf","cf:cf","cf:cf:cf:developer","cf:cf:cf:cf:developer","cf:cf:cf:cf:cf:developer"],"users":["local:cf"]}}`) 37 db.Close() 38 }) 39 40 It("does not migrate any pivotal-cf github orgs", func() { 41 42 db = postgresRunner.OpenDBAtVersion(preMigrationVersion) 43 SetupTeam(db, "main", `{"owner":{"groups":["github:pivotal-cf","github:pivotal-cf:cf","github:pivotal-cf:cf:cf","github:pivotal-cf:cf:cf:cf:cf","github:pivotal-cf:cf:cf:cf:cf:cf"],"users":["local:cf"]}}`) 44 db.Close() 45 46 db = postgresRunner.OpenDBAtVersion(postMigrationVersion) 47 ExpectTeamWithAuth(db, "main", `{"owner":{"groups":["github:pivotal-cf","github:pivotal-cf:cf","github:pivotal-cf:cf:cf","github:pivotal-cf:cf:cf:cf:cf","github:pivotal-cf:cf:cf:cf:cf:cf"],"users":["local:cf"]}}`) 48 db.Close() 49 }) 50 }) 51 52 //TODO should we remove ORG:SPACE:auditor and ORG:SPACE:manager 53 Context("Down", func() { 54 It("migrate cf auth with form ORG:SPACE:developer to ORG:SPACE", func() { 55 56 db = postgresRunner.OpenDBAtVersion(postMigrationVersion) 57 SetupTeam(db, "main", `{"owner":{"groups":["cf:test-org:space1:developer","cf:test-org"],"users":["local:test"]}}`) 58 db.Close() 59 60 db = postgresRunner.OpenDBAtVersion(preMigrationVersion) 61 ExpectTeamWithAuth(db, "main", `{"owner":{"groups":["cf:test-org:space1","cf:test-org"],"users":["local:test"]}}`) 62 db.Close() 63 }) 64 65 It("does not migrate auditor and manager roles", func() { 66 67 db = postgresRunner.OpenDBAtVersion(postMigrationVersion) 68 SetupTeam(db, "main", `{"owner":{"groups":["cf:test-org:space1:auditor","cf:test-org:space1:manager"],"users":["local:test"]}}`) 69 db.Close() 70 71 db = postgresRunner.OpenDBAtVersion(preMigrationVersion) 72 ExpectTeamWithAuth(db, "main", `{"owner":{"groups":["cf:test-org:space1:auditor","cf:test-org:space1:manager"],"users":["local:test"]}}`) 73 db.Close() 74 }) 75 }) 76 })