Skip to content

Commit 14b2f12

Browse files
add: tests
1 parent d2f7d88 commit 14b2f12

File tree

4 files changed

+32
-9
lines changed

4 files changed

+32
-9
lines changed

main.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,14 @@ func main() {
2525

2626
log.Printf("Streaming Byte Size is %d Kb", bsvalue)
2727

28-
source_map_kv := utils.ParseInput("source", *source_ftp)
29-
destination_map_kv := utils.ParseInput("destination", *destination_ftp)
28+
source_map_kv, err := utils.ParseInput("source", *source_ftp)
29+
if err != nil {
30+
log.Fatalf("Failed to parse input %v", err)
31+
}
32+
destination_map_kv, err := utils.ParseInput("destination", *destination_ftp)
33+
if err != nil {
34+
log.Fatalf("Failed to parse input %v", err)
35+
}
3036

3137
if source_map_kv["scheme"] == "ftp" && destination_map_kv["scheme"] == "ftp" {
3238
log.Println("Source and Destination are ftp endpoints")
@@ -35,7 +41,7 @@ func main() {
3541
utils.FtpParamsValidator(source_map_kv)
3642
utils.FtpParamsValidator(destination_map_kv)
3743

38-
// Create Coonection and start streaming
44+
// Create Connection and start streaming
3945

4046
utils.FtpClientHandler(source_map_kv, destination_map_kv, bsvalue)
4147
}

utils/ftphandler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ func connectToSFTP(user, password, host string) (*sftp.Client, error) {
7575

7676
conn, err := ssh.Dial("tcp", host, config)
7777
if err != nil {
78-
log.Fatalf("failed to dial: %w", err)
78+
log.Fatalf("failed to dial: %v", err)
7979
return nil, err
8080
}
8181

8282
client, err := sftp.NewClient(conn)
8383
if err != nil {
84-
log.Fatalf("failed to create SFTP client: %w", err)
84+
log.Fatalf("failed to create SFTP client: %v", err)
8585
return nil, err
8686
}
8787
log.Printf("SFTP Client initalized %s", host)

utils/parsers.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"net/url"
66
)
77

8-
func ParseInput(key string, furl string) map[string]string {
8+
func ParseInput(key string, furl string) (map[string]string, error) {
99
// Define return variable
1010

1111
params := make(map[string]string)
@@ -14,7 +14,7 @@ func ParseInput(key string, furl string) map[string]string {
1414
// Parse the URLs
1515
sourceURL, err := url.Parse(furl)
1616
if err != nil {
17-
log.Panicf("Error parsing source URL: %v\n", err)
17+
return params, err
1818
}
1919

2020
// Output the parsed URLs
@@ -37,7 +37,7 @@ func ParseInput(key string, furl string) map[string]string {
3737

3838
log.Println(key + ":: " + parameters)
3939

40-
return params
40+
return params, nil
4141
}
4242

4343
func NullChecker(key string, ftpurl string) {
@@ -48,7 +48,7 @@ func NullChecker(key string, ftpurl string) {
4848
}
4949

5050
func SchemeValidator(scheme string) bool {
51-
log.Println("scheme: %s", scheme)
51+
log.Printf("scheme: %s", scheme)
5252
if scheme == "ftp" {
5353
return true
5454
}

utils/parsers_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package utils
2+
3+
import "testing"
4+
5+
func TestParseInput(t *testing.T) {
6+
out, err := ParseInput("source", "sftp://user:password@host/myfile/out.txt")
7+
if err != nil {
8+
t.Error("failed parsing URL")
9+
}
10+
11+
got := len(out)
12+
want := 5
13+
14+
if got != want {
15+
t.Errorf("Wanted %d parameters git %d parameters ", want, got)
16+
}
17+
}

0 commit comments

Comments
 (0)