summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/go/cmd/clone.go62
-rw-r--r--client/go/cmd/clone_test.go7
-rw-r--r--client/go/cmd/prod_test.go6
-rw-r--r--client/go/cmd/testdata/sample-apps-master.zipbin4253469 -> 4653209 bytes
-rw-r--r--client/go/vespa/xml/config.go7
-rw-r--r--client/go/vespa/xml/config_test.go28
6 files changed, 57 insertions, 53 deletions
diff --git a/client/go/cmd/clone.go b/client/go/cmd/clone.go
index 6fe3c0d5a29..1ba95668d29 100644
--- a/client/go/cmd/clone.go
+++ b/client/go/cmd/clone.go
@@ -65,41 +65,40 @@ variable.`,
},
}
-func cloneApplication(source string, name string) {
+func cloneApplication(applicationName string, applicationDir string) {
zipFile := getSampleAppsZip()
defer zipFile.Close()
- zipReader, zipOpenError := zip.OpenReader(zipFile.Name())
- if zipOpenError != nil {
- fatalErr(zipOpenError, "Could not open sample apps zip '", color.Cyan(zipFile.Name()), "'")
+ r, err := zip.OpenReader(zipFile.Name())
+ if err != nil {
+ fatalErr(err, "Could not open sample apps zip '", color.Cyan(zipFile.Name()), "'")
return
}
- defer zipReader.Close()
+ defer r.Close()
found := false
- for _, f := range zipReader.File {
- zipEntryPrefix := "sample-apps-master/" + source + "/"
- if strings.HasPrefix(f.Name, zipEntryPrefix) {
+ for _, f := range r.File {
+ dirPrefix := "sample-apps-master/" + applicationName + "/"
+ if strings.HasPrefix(f.Name, dirPrefix) {
if !found { // Create destination directory lazily when source is found
- createErr := os.Mkdir(name, 0755)
+ createErr := os.Mkdir(applicationDir, 0755)
if createErr != nil {
- fatalErr(createErr, "Could not create directory '", color.Cyan(name), "'")
+ fatalErr(createErr, "Could not create directory '", color.Cyan(applicationDir), "'")
return
}
}
found = true
- copyError := copy(f, name, zipEntryPrefix)
- if copyError != nil {
- fatalErr(copyError, "Could not copy zip entry '", color.Cyan(f.Name), "' to ", color.Cyan(name))
+ if err := copy(f, applicationDir, dirPrefix); err != nil {
+ fatalErr(err, "Could not copy zip entry '", color.Cyan(f.Name), "' to ", color.Cyan(applicationDir))
return
}
}
}
if !found {
- fatalErrHint(fmt.Errorf("Could not find source application '%s'", color.Cyan(source)), "Use -f to ignore the cache")
+ fatalErrHint(fmt.Errorf("Could not find source application '%s'", color.Cyan(applicationName)), "Use -f to ignore the cache")
} else {
- log.Print("Created ", color.Cyan(name))
+ log.Print("Created ", color.Cyan(applicationDir))
}
}
@@ -158,6 +157,10 @@ func getSampleAppsZip() *os.File {
fatalErr(nil, "Could not download sample apps from GitHub: ", response.StatusCode)
return nil
}
+ if err := f.Truncate(0); err != nil {
+ fatalErr(err, "Could not truncate sample apps file: ", f.Name())
+ return nil
+ }
if _, err := io.Copy(f, response.Body); err != nil {
fatalErr(err, "Could not write sample apps to file: ", f.Name())
return nil
@@ -172,26 +175,25 @@ func copy(f *zip.File, destinationDir string, zipEntryPrefix string) error {
destinationPath := filepath.Join(destinationDir, filepath.FromSlash(strings.TrimPrefix(f.Name, zipEntryPrefix)))
if strings.HasSuffix(f.Name, "/") {
if f.Name != zipEntryPrefix { // root is already created
- createError := os.Mkdir(destinationPath, 0755)
- if createError != nil {
- return createError
+ if err := os.Mkdir(destinationPath, 0755); err != nil {
+ return err
}
}
} else {
- zipEntry, zipEntryOpenError := f.Open()
- if zipEntryOpenError != nil {
- return zipEntryOpenError
+ r, err := f.Open()
+ if err != nil {
+ return err
}
- defer zipEntry.Close()
-
- destination, createError := os.Create(destinationPath)
- if createError != nil {
- return createError
+ defer r.Close()
+ destination, err := os.Create(destinationPath)
+ if err != nil {
+ return err
}
-
- _, copyError := io.Copy(destination, zipEntry)
- if copyError != nil {
- return copyError
+ if _, err := io.Copy(destination, r); err != nil {
+ return err
+ }
+ if err := os.Chmod(destinationPath, f.Mode()); err != nil {
+ return err
}
}
return nil
diff --git a/client/go/cmd/clone_test.go b/client/go/cmd/clone_test.go
index 054dc7b21fb..af8b686b111 100644
--- a/client/go/cmd/clone_test.go
+++ b/client/go/cmd/clone_test.go
@@ -15,7 +15,7 @@ import (
)
func TestClone(t *testing.T) {
- assertCreated("album-recommendation-selfhosted", "mytestapp", t)
+ assertCreated("text-search", "mytestapp", t)
}
func assertCreated(sampleAppName string, app string, t *testing.T) {
@@ -32,6 +32,9 @@ func assertCreated(sampleAppName string, app string, t *testing.T) {
assert.True(t, util.IsDirectory(filepath.Join(app, "src", "main", "application")))
servicesStat, _ := os.Stat(filepath.Join(app, "src", "main", "application", "services.xml"))
- servicesSize := int64(2474)
+ servicesSize := int64(1772)
assert.Equal(t, servicesSize, servicesStat.Size())
+
+ scriptStat, _ := os.Stat(filepath.Join(app, "bin", "convert-msmarco.sh"))
+ assert.Equal(t, os.FileMode(0755), scriptStat.Mode())
}
diff --git a/client/go/cmd/prod_test.go b/client/go/cmd/prod_test.go
index a4f3ebd6b56..4e635f87a75 100644
--- a/client/go/cmd/prod_test.go
+++ b/client/go/cmd/prod_test.go
@@ -46,8 +46,8 @@ func TestProdInit(t *testing.T) {
// Verify contents
deploymentPath := filepath.Join(pkgDir, "src", "main", "application", "deployment.xml")
deploymentXML := readFileString(t, deploymentPath)
- assert.Contains(t, deploymentXML, `<region active="true">aws-us-west-2a</region>`)
- assert.Contains(t, deploymentXML, `<region active="true">aws-eu-west-1a</region>`)
+ assert.Contains(t, deploymentXML, `<region>aws-us-west-2a</region>`)
+ assert.Contains(t, deploymentXML, `<region>aws-eu-west-1a</region>`)
servicesPath := filepath.Join(pkgDir, "src", "main", "application", "services.xml")
servicesXML := readFileString(t, servicesPath)
@@ -90,7 +90,7 @@ func createApplication(t *testing.T, pkgDir string, java bool) {
deploymentXML := `<deployment version="1.0">
<prod>
- <region active="true">aws-us-east-1c</region>
+ <region>aws-us-east-1c</region>
</prod>
</deployment>`
if err := ioutil.WriteFile(filepath.Join(appDir, "deployment.xml"), []byte(deploymentXML), 0644); err != nil {
diff --git a/client/go/cmd/testdata/sample-apps-master.zip b/client/go/cmd/testdata/sample-apps-master.zip
index 6ad49361072..c8fb40af713 100644
--- a/client/go/cmd/testdata/sample-apps-master.zip
+++ b/client/go/cmd/testdata/sample-apps-master.zip
Binary files differ
diff --git a/client/go/vespa/xml/config.go b/client/go/vespa/xml/config.go
index a7ff37875ae..3243764fd3e 100644
--- a/client/go/vespa/xml/config.go
+++ b/client/go/vespa/xml/config.go
@@ -16,7 +16,7 @@ var DefaultDeployment Deployment
func init() {
defaultDeploymentRaw := `<deployment version="1.0">
<prod>
- <region active="true">aws-us-east-1c</region>
+ <region>aws-us-east-1c</region>
</prod>
</deployment>`
d, err := ReadDeployment(strings.NewReader(defaultDeploymentRaw))
@@ -44,8 +44,7 @@ type Prod struct {
}
type Region struct {
- Name string `xml:",chardata"`
- Active bool `xml:"active,attr"`
+ Name string `xml:",chardata"`
}
func (d Deployment) String() string { return d.rawXML.String() }
@@ -142,7 +141,7 @@ func ReadServices(r io.Reader) (Services, error) {
func Regions(names ...string) []Region {
var regions []Region
for _, z := range names {
- regions = append(regions, Region{Name: z, Active: true})
+ regions = append(regions, Region{Name: z})
}
return regions
}
diff --git a/client/go/vespa/xml/config_test.go b/client/go/vespa/xml/config_test.go
index 385653ab83f..299bfd372f7 100644
--- a/client/go/vespa/xml/config_test.go
+++ b/client/go/vespa/xml/config_test.go
@@ -10,15 +10,15 @@ func TestReplaceDeployment(t *testing.T) {
in := `
<deployment version="1.0">
<prod>
- <region active="true">us-north-1</region>
- <region active="false">eu-north-2</region>
+ <region>us-north-1</region>
+ <region>eu-north-2</region>
</prod>
</deployment>`
out := `<deployment version="1.0">
<prod>
- <region active="true">eu-south-1</region>
- <region active="true">us-central-1</region>
+ <region>eu-south-1</region>
+ <region>us-central-1</region>
</prod>
</deployment>
`
@@ -31,12 +31,12 @@ func TestReplaceDeploymentWithInstance(t *testing.T) {
<deployment version="1.0">
<instance id="default">
<prod>
- <region active="true">us-north-1</region>
+ <region>us-north-1</region>
</prod>
</instance>
<instance id="beta">
<prod>
- <region active="true">eu-south-1</region>
+ <region>eu-south-1</region>
</prod>
</instance>
</deployment>`
@@ -44,14 +44,14 @@ func TestReplaceDeploymentWithInstance(t *testing.T) {
out := `<deployment version="1.0">
<instance id="default">
<prod>
- <region active="true">us-central-1</region>
- <region active="true">eu-west-1</region>
+ <region>us-central-1</region>
+ <region>eu-west-1</region>
</prod>
</instance>
<instance id="beta">
<prod>
- <region active="true">us-central-1</region>
- <region active="true">eu-west-1</region>
+ <region>us-central-1</region>
+ <region>eu-west-1</region>
</prod>
</instance>
</deployment>
@@ -132,16 +132,16 @@ func TestReplaceRemovesElement(t *testing.T) {
in := `
<deployment version="1.0">
<prod>
- <region active="true">eu-south-1</region>
- <region active="true">us-central-1</region>
+ <region>eu-south-1</region>
+ <region>us-central-1</region>
<test>us-central-1</test>
</prod>
</deployment>`
out := `<deployment version="1.0">
<prod>
- <region active="true">eu-south-1</region>
- <region active="true">us-central-1</region>
+ <region>eu-south-1</region>
+ <region>us-central-1</region>
</prod>
</deployment>
`