| 
					
				 | 
			
			
				@@ -1,11 +1,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package compiler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"io/ioutil" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"testing" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"github.com/remogatto/cloud" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"github.com/remogatto/prettytest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	"gogs.carducci-dante.gov.it/andrea.fazzi/karmen/config" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	"gogs.carducci-dante.gov.it/andrea.fazzi/karmen/webdav" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"gogs.carducci-dante.gov.it/karmen/core/config" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type testSuite struct { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,7 +16,7 @@ type testSuite struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	compiler   *Compiler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	client     *webdav.Client 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	client     *cloud.Client 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	simpleMain string = ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package main 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,7 +25,7 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	webDAVTemplateProgram string = ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cloudTemplateProgram string = ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package main 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31,18 +33,18 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"fmt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"text/template" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	"gogs.carducci-dante.gov.it/andrea.fazzi/karmen/webdav" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"github.com/remogatto/cloud" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		WebDAVUrl      = "http://localhost:8082/remote.php/webdav/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		WebDAVUrl      = "http://karmen_cloud_test/remote.php/webdav/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		WebDavUsername = "admin" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		WebDAVPassword = "password" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		data           struct{ Data string } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		output         bytes.Buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	client, err := webdav.NewClient(WebDAVUrl, WebDavUsername, WebDAVPassword) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	client, err := cloud.Dial(WebDAVUrl, WebDavUsername, WebDAVPassword) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Print(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -83,8 +85,8 @@ func TestRunner(t *testing.T) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (t *testSuite) BeforeAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var err error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	compiler = New("http://localhost:8083/compile") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	client, err = webdav.NewClient( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	compiler = New("http://localhost:8080/compile") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	client, err = cloud.Dial( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		config.WebDAVUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		config.WebDavUsername, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		config.WebDAVPassword, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,6 +94,18 @@ func (t *testSuite) BeforeAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if !client.Exists("Templates") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err := client.Mkdir("Templates"); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	templateData, err := ioutil.ReadFile("testdata/template.tpl") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err := client.Upload(templateData, "Templates/template.tpl"); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		panic(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -99,19 +113,23 @@ func (t *testSuite) TestRunSimpleMain() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	program := &Program{simpleMain} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	result, err := compiler.Run(program) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	t.Nil(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	t.Equal("Hello World!\n", result.Events[0].Message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		t.Equal("Hello World!\n", result.Events[0].Message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (t *testSuite) TestWebDAVTemplate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	program := &Program{webDAVTemplateProgram} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (t *testSuite) TestCloudTemplate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	program := &Program{cloudTemplateProgram} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	result, err := compiler.Run(program) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	t.Nil(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	t.Equal("", result.Errors) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if result.Errors == "" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		t.Equal("ok", result.Events[0].Message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		data, err := client.Download("Test/foo.txt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		t.Nil(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		t.Equal("Foo", string(data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		t.Equal("", result.Errors) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if result.Errors == "" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			t.Equal("ok", result.Events[0].Message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			data, err := client.Download("Test/foo.txt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			t.Nil(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			t.Equal("Foo", string(data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |