@@ -561,23 +561,6 @@ func (suite *ProxyTests) TestFormatUploadFilePath() {
561
561
}
562
562
563
563
func (suite * ProxyTests ) TestCheckFileExists () {
564
- filepath := "somefile"
565
- suite .fakeServer .resp = "fileExists!"
566
-
567
- database , err := database .NewSDAdb (suite .DBConf )
568
- assert .NoError (suite .T (), err )
569
- defer database .Close ()
570
- messenger , err := broker .NewMQ (suite .MQConf )
571
- assert .NoError (suite .T (), err )
572
- defer messenger .Connection .Close ()
573
- proxy := NewProxy (suite .S3Fakeconf , helper .NewAlwaysAllow (), suite .messenger , suite .database , new (tls.Config ))
574
-
575
- res , err := proxy .checkFileExists (filepath )
576
- assert .True (suite .T (), res )
577
- assert .Nil (suite .T (), err )
578
- }
579
-
580
- func (suite * ProxyTests ) TestCheckFileExists_realBackend () {
581
564
database , err := database .NewSDAdb (suite .DBConf )
582
565
assert .NoError (suite .T (), err )
583
566
defer database .Close ()
@@ -592,6 +575,8 @@ func (suite *ProxyTests) TestCheckFileExists_realBackend() {
592
575
}
593
576
594
577
func (suite * ProxyTests ) TestCheckFileExists_nonExistingFile () {
578
+ // Check that looking for a non-existing file gives (false, nil)
579
+ // from checkFileExists
595
580
database , err := database .NewSDAdb (suite .DBConf )
596
581
assert .NoError (suite .T (), err )
597
582
defer database .Close ()
@@ -602,28 +587,33 @@ func (suite *ProxyTests) TestCheckFileExists_nonExistingFile() {
602
587
603
588
res , err := proxy .checkFileExists ("nonexistingfilepath" )
604
589
assert .False (suite .T (), res )
605
- assert .NotNil (suite .T (), err )
606
- assert .Contains (suite .T (), err .Error (), "NotFound" )
590
+ assert .Nil (suite .T (), err )
607
591
}
608
592
609
593
func (suite * ProxyTests ) TestCheckFileExists_unresponsive () {
610
- suite .fakeServer .resp = "fileExists!"
594
+ // Check that errors when connecting to S3 are forwarded
595
+ // and that checkFileExists return (false, someError)
611
596
database , err := database .NewSDAdb (suite .DBConf )
612
597
assert .NoError (suite .T (), err )
613
598
defer database .Close ()
614
599
messenger , err := broker .NewMQ (suite .MQConf )
615
600
assert .NoError (suite .T (), err )
616
601
defer messenger .Connection .Close ()
617
- s3conf := storage.S3Conf {
618
- URL : "http://localhost:40211" ,
619
- AccessKey : "someAccess" ,
620
- SecretKey : "someSecret" ,
621
- Bucket : "buckbuck" ,
622
- Region : "us-east-1" ,
623
- }
624
- proxy := NewProxy (s3conf , helper .NewAlwaysAllow (), suite .messenger , suite .database , new (tls.Config ))
602
+
603
+ // Unaccessible S3 (wrong port)
604
+ proxy := NewProxy (suite .S3conf , helper .NewAlwaysAllow (), suite .messenger , suite .database , new (tls.Config ))
605
+ proxy .s3 .Port = 1111
625
606
626
607
res , err := proxy .checkFileExists ("nonexistingfilepath" )
627
608
assert .False (suite .T (), res )
628
609
assert .NotNil (suite .T (), err )
610
+ assert .Contains (suite .T (), err .Error (), "S3: HeadObject" )
611
+
612
+ // Bad access key gives 403
613
+ proxy .s3 .Port = suite .S3conf .Port
614
+ proxy .s3 .AccessKey = "invaild"
615
+ res , err = proxy .checkFileExists ("nonexistingfilepath" )
616
+ assert .False (suite .T (), res )
617
+ assert .NotNil (suite .T (), err )
618
+ assert .Contains (suite .T (), err .Error (), "StatusCode: 403" )
629
619
}
0 commit comments