// TestGenerateClientConfig validates the client config generated for display // by the HelpHandler. func TestGenerateClientConfig(t *testing.T) { inName := filepath.Join("testdata", "gen_client_config.in") wantName := strings.Replace(inName, ".in", ".out", 1) b, err := replaceRingPath(inName) if err != nil { t.Fatalf("Failed to read high-level server config file: %v", err) } b = backslashEscape(b) var hiLevelConf serverconfig.Config if err := json.Unmarshal(b, &hiLevelConf); err != nil { t.Fatalf("Failed to unmarshal server config: %v", err) } lowLevelConf, err := serverinit.GenLowLevelConfig(&hiLevelConf) if err != nil { t.Fatalf("Failed to generate low-level config: %v", err) } generatedConf, err := clientconfig.GenerateClientConfig(lowLevelConf.Obj) if err != nil { t.Fatalf("Failed to generate client config: %v", err) } wb, err := replaceRingPath(wantName) if err != nil { t.Fatalf("Failed to read want config file: %v", err) } wb = backslashEscape(wb) var wantConf clientconfig.Config if err := json.Unmarshal(wb, &wantConf); err != nil { t.Fatalf("Failed to unmarshall want config: %v", err) } compareConfigurations(t, inName, generatedConf, wantConf) }
func (hh *HelpHandler) InitHandler(hl blobserver.FindHandlerByTyper) error { if hh.serverConfig == nil { return fmt.Errorf("HelpHandler's serverConfig must be set before calling its InitHandler") } clientConfig, err := clientconfig.GenerateClientConfig(hh.serverConfig) if err != nil { return fmt.Errorf("error generating client config: %v", err) } hh.clientConfig = clientConfig tmpl, err := template.New("help").Parse(helpHTML) if err != nil { return fmt.Errorf("error creating template: %v", err) } hh.goTemplate = tmpl return nil }
func (hh *HelpHandler) InitHandler(hl blobserver.FindHandlerByTyper) error { if hh.serverConfig == nil { return fmt.Errorf("HelpHandler's serverConfig must be set before calling its InitHandler") } clientConfig, err := clientconfig.GenerateClientConfig(hh.serverConfig) if err != nil { return fmt.Errorf("error generating client config: %v", err) } hh.clientConfig = clientConfig hh.serverSecRing = clientConfig.IdentitySecretRing clientConfig.IdentitySecretRing = "/home/you/.config/camlistore/identity-secring.gpg" tmpl, err := template.New("help").Parse(helpHTML) if err != nil { return fmt.Errorf("error creating template: %v", err) } hh.goTemplate = tmpl return nil }