package be.iminds.ilabt.jfed.test;

import be.iminds.ilabt.jfed.log.Logger;
import be.iminds.ilabt.jfed.lowlevel.AnyCredential;
import be.iminds.ilabt.jfed.lowlevel.GeniUser;
import be.iminds.ilabt.jfed.lowlevel.api_wrapper.AggregateManagerWrapper;
import be.iminds.ilabt.jfed.lowlevel.api_wrapper.UserAndSliceApiWrapper;
import be.iminds.ilabt.jfed.lowlevel.connection.JFedConnectionProvider;
import be.iminds.ilabt.jfed.preferences.JFedPreferences;
import be.iminds.ilabt.jfed.util.GeniUrn;
import be.iminds.ilabt.jfed.util.JFedTrustStore;

import java.util.List;

/**
 * JFedTest
 */
public class JFedTest {
    public final AggregateManagerWrapper am;
    public final UserAndSliceApiWrapper sa;
    public final List<AnyCredential> userCreds;
    public final List<AnyCredential> sliceCreds;
    public final GeniUrn sliceUrn;
    public final String sliceUrnStr;

    public final JFedConnectionProvider connectionProvider;
    public final JFedTrustStore trustStore;
    public final GeniUser user;
    public final Logger logger;
    public final JFedPreferences prefs;

    JFedTest(Logger logger, JFedPreferences prefs, GeniUser user, JFedConnectionProvider connectionProvider, JFedTrustStore trustStore, AggregateManagerWrapper am, UserAndSliceApiWrapper sa, List<AnyCredential> userCreds, List<AnyCredential> sliceCreds, GeniUrn sliceUrn) {
        this.prefs = prefs;
        this.logger = logger;
        this.user = user;
        this.connectionProvider = connectionProvider;
        this.trustStore = trustStore;
        this.am = am;
        this.sa = sa;
        this.userCreds = userCreds;
        this.sliceCreds = sliceCreds;
        this.sliceUrn = sliceUrn;
        this.sliceUrnStr = sliceUrn.toString();
    }
}
