fun createNamespaceAndTemplate()

in common/src/testFixtures/kotlin/org/jetbrains/teamcity/vault/VaultTestUtil.kt [10:25]


    fun createNamespaceAndTemplate(vault: VaultDevEnvironment,
                                   factory: ClientHttpRequestFactory,
                                   namespace: String): VaultTemplate {
        val template = VaultTemplate(vault.endpoint, namespace, factory, vault.simpleSessionManager)
        if (StringUtil.isNotEmpty(namespace)) {
            val templateWithoutNamespace = VaultTemplate(vault.endpoint, "", factory, vault.simpleSessionManager)
            val exists = templateWithoutNamespace.read("/sys/namespaces/$namespace")
            if (exists == null) {
                // Add namespace if it doesn't exist
                templateWithoutNamespace.write("/sys/namespaces/$namespace", null)
                // Add secret backend in namespace with explicit version
                template.write("/sys/mounts/secret", "{\"type\": \"kv\", \"options\": {\"version\": \"2\"}}")
            }
        }
        return template
    }