-
Notifications
You must be signed in to change notification settings - Fork 6
Possible alternative implementation of integration tests (draft)
mgoerens edited this page Jan 19, 2022
·
2 revisions
DescribeTable("Extracting the server name and report stats value from ConfigMap",
func(ServerName string, ReportStats bool) {
cm := corev1.ConfigMap{
Data: map[string]string{
"homeserver.yaml": "server_name: " + ServerName + "\n" +
"report_stats: " + convert_to_yes_no(ReportStats),
},
}
Expect(r.ParseHomeserverConfigMap(ctx, &s, cm)).Should(Succeed())
Expect(s.Status.HomeserverConfiguration.ServerName).Should(Equal("my-server-name"))
Expect(s.Status.HomeserverConfiguration.ReportStats).Should(Equal(ReportStats))
},
Entry("when server name is valid and report stat set to true", "my-server-name", true),
Entry("when server name is valid and report stat set to false", "my-server-name", false),
)
DescribeTable("Testing homeserver.yaml not present in ConfigMap",
func(data_key string) {
var cm corev1.ConfigMap
if data_key != "" {
cm.Data = map[string]string{data_key: "file_content"}
}
Expect(r.ParseHomeserverConfigMap(ctx, &s, cm)).ShouldNot(Succeed())
},
Entry("when ConfigMap doesn't contain any data", ""),
Entry("when ConfigMap contains a different file than homeserver.yaml", "not_homeserver.yaml"),
)
DescribeTable("Testing incorrect homeserver.yaml in ConfigMap",
func(ServerName string, ReportStats bool) {
cm := corev1.ConfigMap{
Data: map[string]string{
"homeserver.yaml": "server_name: " + ServerName + "\n" +
"report_stats: " + convert_to_yes_no(ReportStats),
},
}
Expect(r.ParseHomeserverConfigMap(ctx, &s, cm)).ShouldNot(Succeed())
},
Entry("when data doesn't contain homerserver.yaml", "server_name", "my-server-name", true),
Entry("when data doesn't contain homerserver.yaml", "my-server-name", true),
)
It("should successfully register the server name and report stats values into the Synapse object", func() {
ServerName := "my-server-name"
ReportStats := true
cm := corev1.ConfigMap{
Data: map[string]string{
"homeserver.yaml": "server_name: " + ServerName + "\n" +
"report_stats: " + convert_to_yes_no(ReportStats),
},
}
Expect(r.ParseHomeserverConfigMap(ctx, &s, cm)).Should(Succeed())
Expect(s.Status.HomeserverConfiguration.ServerName).Should(Equal("my-server-name"))
Expect(s.Status.HomeserverConfiguration.ReportStats).Should(BeTrue())
})