func TestUserSuppliedTLSSecretWithSeparateTrustStore(t *testing.T) {
	tlsSecretName := "tls-cert-secret-from-user"
	keystorePassKey := "some-password-key-thingy"
	instance := buildTestSolrCloud()
	instance.Spec.SolrSecurity = &solr.SolrSecurityOptions{AuthenticationType: solr.Basic} // with basic-auth too
	instance.Spec.SolrTLS = createTLSOptions(tlsSecretName, keystorePassKey, false)

	trustStoreSecretName := "custom-truststore-secret"
	trustStoreFile := "truststore.p12"
	instance.Spec.SolrTLS.TrustStoreSecret = &corev1.SecretKeySelector{
		LocalObjectReference: corev1.LocalObjectReference{Name: trustStoreSecretName},
		Key:                  trustStoreFile,
	}

	instance.Spec.SolrTLS.TrustStorePasswordSecret = &corev1.SecretKeySelector{
		LocalObjectReference: corev1.LocalObjectReference{Name: trustStoreSecretName},
		Key:                  "truststore-pass",
	}

	instance.Spec.SolrTLS.ClientAuth = solr.Need // require client auth too (mTLS between the pods)

	verifyUserSuppliedTLSConfig(t, instance.Spec.SolrTLS, tlsSecretName, keystorePassKey, tlsSecretName, false)
	verifyReconcileUserSuppliedTLS(t, instance, false, false)
}
// User wants a different trust store than the keystore
User wants a different trust store than the keystore
// User wants a different trust store than the keystore
func TestUserSuppliedTLSSecretWithSeparateTrustStore(t *testing.T) {
	tlsSecretName := "tls-cert-secret-from-user"
	keystorePassKey := "some-password-key-thingy"
	instance := buildTestSolrCloud()
	instance.Spec.SolrSecurity = &solr.SolrSecurityOptions{AuthenticationType: solr.Basic} 
	instance.Spec.SolrTLS = createTLSOptions(tlsSecretName, keystorePassKey, false)
	trustStoreSecretName := "custom-truststore-secret"
	trustStoreFile := "truststore.p12"
	instance.Spec.SolrTLS.TrustStoreSecret = &corev1.SecretKeySelector{
		LocalObjectReference: corev1.LocalObjectReference{Name: trustStoreSecretName},
		Key:                  trustStoreFile,
	}
	instance.Spec.SolrTLS.TrustStorePasswordSecret = &corev1.SecretKeySelector{
		LocalObjectReference: corev1.LocalObjectReference{Name: trustStoreSecretName},
		Key:                  "truststore-pass",
	}
	instance.Spec.SolrTLS.ClientAuth = solr.Need 
	verifyUserSuppliedTLSConfig(t, instance.Spec.SolrTLS, tlsSecretName, keystorePassKey, tlsSecretName, false)
	verifyReconcileUserSuppliedTLS(t, instance, false, false)
}
func TestUserSuppliedTLSSecretWithSeparateTrustStore ( t * testing . T ) { tlsSecretName := " " keystorePassKey := " " instance := buildTestSolrCloud ( ) instance . Spec . SolrSecurity = & solr . SolrSecurityOptions { AuthenticationType : solr . Basic } instance . Spec . SolrTLS = createTLSOptions ( tlsSecretName , keystorePassKey , false ) trustStoreSecretName := " " trustStoreFile := " " instance . Spec . SolrTLS . TrustStoreSecret = & corev1 . SecretKeySelector { LocalObjectReference : corev1 . LocalObjectReference { Name : trustStoreSecretName } , Key : trustStoreFile , } instance . Spec . SolrTLS . TrustStorePasswordSecret = & corev1 . SecretKeySelector { LocalObjectReference : corev1 . LocalObjectReference { Name : trustStoreSecretName } , Key : " " , } instance . Spec . SolrTLS . ClientAuth = solr . Need verifyUserSuppliedTLSConfig ( t , instance . Spec . SolrTLS , tlsSecretName , keystorePassKey , tlsSecretName , false ) verifyReconcileUserSuppliedTLS ( t , instance , false , false ) }
User wants a different trust store than the keystore
User wants a different trust store than the keystore
// with basic-auth too // require client auth too (mTLS between the pods)