Merge pull request #2856 from jameszhangyukun/e2e-depency
[E2E] add test case for resource interpreter customization
This commit is contained in:
commit
3f0a19c192
|
@ -594,4 +594,63 @@ end `,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ginkgo.Context("InterpreterOperation DependencyInterpretation testing", func() {
|
||||||
|
var saName string
|
||||||
|
var sa *corev1.ServiceAccount
|
||||||
|
ginkgo.BeforeEach(func() {
|
||||||
|
saName = saNamePrefix + rand.String(RandomStrLength)
|
||||||
|
sa = testhelper.NewServiceaccount(testNamespace, saName)
|
||||||
|
deployment = testhelper.NewDeploymentWithServiceAccount(testNamespace, deployment.Name, saName)
|
||||||
|
policy.Spec.PropagateDeps = true
|
||||||
|
customization = testhelper.NewResourceInterpreterCustomization(
|
||||||
|
"interpreter-customization"+rand.String(RandomStrLength),
|
||||||
|
configv1alpha1.CustomizationTarget{
|
||||||
|
APIVersion: "apps/v1",
|
||||||
|
Kind: "Deployment",
|
||||||
|
},
|
||||||
|
configv1alpha1.CustomizationRules{
|
||||||
|
DependencyInterpretation: &configv1alpha1.DependencyInterpretation{
|
||||||
|
LuaScript: `
|
||||||
|
function GetDependencies(desiredObj)
|
||||||
|
dependentSas = {}
|
||||||
|
refs = {}
|
||||||
|
if desiredObj.spec.template.spec.serviceAccountName ~= '' and desiredObj.spec.template.spec.serviceAccountName ~= 'default' then
|
||||||
|
dependentSas[desiredObj.spec.template.spec.serviceAccountName] = true
|
||||||
|
end
|
||||||
|
local idx = 1
|
||||||
|
for key, value in pairs(dependentSas) do
|
||||||
|
dependObj = {}
|
||||||
|
dependObj.apiVersion = 'v1'
|
||||||
|
dependObj.kind = 'ServiceAccount'
|
||||||
|
dependObj.name = key
|
||||||
|
dependObj.namespace = desiredObj.metadata.namespace
|
||||||
|
refs[idx] = dependObj
|
||||||
|
idx = idx + 1
|
||||||
|
end
|
||||||
|
return refs
|
||||||
|
end `,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
ginkgo.It("DependencyInterpretation testing", func() {
|
||||||
|
ginkgo.By("check if the serviceAccount is propagated automatically", func() {
|
||||||
|
framework.CreateServiceAccount(kubeClient, sa)
|
||||||
|
ginkgo.DeferCleanup(func() {
|
||||||
|
framework.RemoveServiceAccount(kubeClient, sa.GetNamespace(), sa.GetName())
|
||||||
|
})
|
||||||
|
framework.WaitDeploymentPresentOnClusterFitWith(targetCluster, deployment.Namespace, deployment.Name,
|
||||||
|
func(deployment *appsv1.Deployment) bool {
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
|
framework.WaitServiceAccountPresentOnClusterFitWith(targetCluster, deployment.Namespace, sa.GetName(),
|
||||||
|
func(sa *corev1.ServiceAccount) bool {
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue