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  })