/*
 * Copyright 2013-2026, Seqera Labs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package nextflow.k8s.model

import spock.lang.Specification

/**
 *
 * @author Paolo Di Tommaso <paolo.ditommaso@gmail.com>
 */
    class PodEnvTest extends Specification {

    def 'should return env spec' () {
        expect:
        PodEnv.value('ALPHA', 'aaa').toSpec() == [name:'ALPHA', value:'aaa']
    }

    def 'should create env fieldPath spec' () {
        expect:
        PodEnv.fieldPath('ALPHA', 'aaa').toSpec() == [
                name:'ALPHA',
                valueFrom: [fieldRef:[fieldPath: 'aaa']]
        ]
    }

    def 'should create env secret spec' () {
        expect:
        PodEnv.secret('ALPHA', 'data/key-1').toSpec() == [
                name: 'ALPHA',
                valueFrom: [secretKeyRef:[name:'data', key:'key-1']]
        ]

        PodEnv.secret('ALPHA', 'data').toSpec() == [
                name: 'ALPHA',
                valueFrom: [secretKeyRef:[name:'data', key:'ALPHA']]
        ]

    }

    def 'should create env config spec' () {
        expect:
        PodEnv.config('ALPHA', 'data/key-1').toSpec() == [
                name: 'ALPHA',
                valueFrom: [configMapKeyRef:[name:'data', key:'key-1']]
        ]
    }

}
