func AddFlags() { defaultPath := "/x/y/z/we're/in-a-test" if !buildinfo.TestingLinked() { defaultPath = osutil.UserClientConfigPath() } flag.StringVar(&flagServer, "server", "", "Camlistore server prefix. If blank, the default from the \"server\" field of "+defaultPath+" is used. Acceptable forms: https://you.example.com, example.com:1345 (https assumed), or http://you.example.com/alt-root") osutil.AddSecretRingFlag() }
func setupClient(w *test.World) (*client.Client, error) { // Do the silly env vars dance to avoid the "non-hermetic use of host config panic". if err := os.Setenv("CAMLI_KEYID", w.ClientIdentity()); err != nil { return nil, err } if err := os.Setenv("CAMLI_SECRET_RING", w.SecretRingFile()); err != nil { return nil, err } osutil.AddSecretRingFlag() cl := client.New(w.ServerBaseURL()) return cl, nil }
func setupClient(w *test.World) (*client.Client, error) { // Do the silly env vars dance to avoid the "non-hermetic use of host config panic". if err := os.Setenv("CAMLI_KEYID", w.ClientIdentity()); err != nil { return nil, err } if err := os.Setenv("CAMLI_SECRET_RING", w.SecretRingFile()); err != nil { return nil, err } osutil.AddSecretRingFlag() cl := client.New(w.ServerBaseURL()) // This permanode is not needed in itself, but that takes care of uploading // behind the scenes the public key to the blob server. A bit gross, but // it's just for a test anyway. if _, err := cl.UploadNewPermanode(); err != nil { return nil, err } return cl, nil }
func (c *serverCmd) makeThings() error { const importerPrefix = "/importer/" // check that "/importer/" prefix is in config, just in case it ever changes. configFile := filepath.Join(camliSrcRoot, "config", "dev-server-config.json") config, err := ioutil.ReadFile(configFile) if err != nil { return fmt.Errorf("could not read config file %v: %v", configFile, err) } if !bytes.Contains(config, []byte(importerPrefix)) { return fmt.Errorf("%s prefix not found in dev config. Did it change?", importerPrefix) } if err := netutil.AwaitReachable("localhost:"+c.port, time.Minute); err != nil { return err } osutil.AddSecretRingFlag() setCamdevVars() baseURL := c.env.m["CAMLI_BASEURL"] if baseURL == "" { return errors.New("CAMLI_BASEURL is not set") } cl := client.New(baseURL) signer, err := cl.Signer() if err != nil { return err } ClientId := make(map[string]string) ClientSecret := make(map[string]string) for name := range importer.All() { ClientId[name] = "fakeStaticClientId" ClientSecret[name] = "fakeStaticClientSecret" } hc := importer.HostConfig{ BaseURL: baseURL, Prefix: importerPrefix, Target: cl, BlobSource: cl, Signer: signer, Search: cl, ClientId: ClientId, ClientSecret: ClientSecret, } for name, imp := range importer.All() { mk, ok := imp.(importer.TestDataMaker) if !ok { continue } tr := mk.MakeTestData() hc.HTTPClient = &http.Client{Transport: tr} host, err := importer.NewHost(hc) if err != nil { return fmt.Errorf("could not obtain Host: %v", err) } rc, err := importer.CreateAccount(host, name) if err != nil { return err } if err := mk.SetTestAccount(rc.AccountNode()); err != nil { return fmt.Errorf("could not set fake account node for importer %v: %v", name, err) } if err := imp.Run(rc); err != nil { return err } } return nil }