github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/cmd/run_java_tests/run_java_tests.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"os/exec"
     7  	"path"
     8  	"path/filepath"
     9  	"strings"
    10  
    11  	"github.com/kjk/httplogproxy"
    12  )
    13  
    14  const (
    15  	proxyURL = "http://localhost:8888"
    16  )
    17  
    18  func must(err error) {
    19  	if err != nil {
    20  		panic(err.Error())
    21  	}
    22  }
    23  
    24  func isUpper(c byte) bool {
    25  	return c >= 'A' && c <= 'Z'
    26  }
    27  
    28  // converts "IndexesFromClientTest" => "indexes_from_client"
    29  func testNameToFileName(s string) string {
    30  	s = strings.TrimSuffix(s, "Test")
    31  	lower := strings.ToLower(s)
    32  	var res []byte
    33  	n := len(s)
    34  	for i := 0; i < n; i++ {
    35  		c := s[i]
    36  		if i > 0 && isUpper(c) {
    37  			res = append(res, '_')
    38  		}
    39  		res = append(res, lower[i])
    40  	}
    41  	return string(res)
    42  }
    43  
    44  func runSingleJavaTest(className string) {
    45  	logFileName := "trace_" + testNameToFileName(className) + "_java.txt"
    46  	logFilePath := filepath.Join("logs", logFileName)
    47  	go httplogproxy.Run(logFilePath)
    48  	defer httplogproxy.CloseLogFile()
    49  
    50  	// Running just one maven test: https://stackoverflow.com/a/18136440/2898
    51  	// mvn -Dtest=HiLoTest test
    52  	cmd := exec.Command("mvn", fmt.Sprintf("-Dtest=%s", className), "test")
    53  	cmd.Dir = path.Join("..", "ravendb-jvm-client")
    54  	cmd.Stdout = os.Stdout
    55  	cmd.Stderr = os.Stderr
    56  	err := cmd.Start()
    57  	must(err)
    58  	err = cmd.Wait()
    59  	must(err)
    60  }
    61  
    62  func runJava() {
    63  	// TODO: for some reason when we run more than one in a sequence,
    64  	// the second one fails. Possibly because the server fails
    65  	// to start the second time
    66  
    67  	//runSingleJavaTest("AdvancedPatchingTest")
    68  	//runSingleJavaTest("AggregationTest")
    69  	//runSingleJavaTest("AttachmentsSessionTest")
    70  	//runSingleJavaTest("AttachmentsRevisionsTest")
    71  	//runSingleJavaTest("BasicDocumentsTest")
    72  	//runSingleJavaTest("BulkInsertsTest")
    73  	//runSingleJavaTest("ClientConfigurationTest")
    74  	//runSingleJavaTest("CompactTest")
    75  	//runSingleJavaTest("ContainsTest")
    76  	//runSingleJavaTest("CrudTest")
    77  	//runSingleJavaTest("DeleteTest")
    78  	//runSingleJavaTest("DeleteDocumentCommandTest")
    79  	//runSingleJavaTest("DocumentsLoadTest")
    80  	//runSingleJavaTest("DeleteByQueryTest")
    81  	//runSingleJavaTest("ExistsTest")
    82  	//runSingleJavaTest("GetTopologyTest")
    83  	//runSingleJavaTest("GetTcpInfoTest")
    84  	//runSingleJavaTest("GetClusterTopologyTest")
    85  	//runSingleJavaTest("GetStatisticsCommandTest")
    86  	//runSingleJavaTest("GetNextOperationIDCommandTest")
    87  	//runSingleJavaTest("HiLoTest")
    88  	//runSingleJavaTest("IndexOperationsTest")
    89  	//runSingleJavaTest("IndexesFromClientTest")
    90  	//runSingleJavaTest("LoadIntoStreamTest")
    91  	//runSingleJavaTest("LoadTest")
    92  	//runSingleJavaTest("NextAndSeedIdentitiesTest")
    93  	//runSingleJavaTest("PatchTest")
    94  	//runSingleJavaTest("PutDocumentCommandTest")
    95  	//runSingleJavaTest("QueryTest")
    96  	//runSingleJavaTest("RegexQueryTest")
    97  	//runSingleJavaTest("RequestExecutorTest")
    98  	//runSingleJavaTest("RevisionsTest")
    99  	//runSingleJavaTest("StoreTest")
   100  	//runSingleJavaTest("TrackEntityTest")
   101  	//runSingleJavaTest("UniqueValuesTest")
   102  	//runSingleJavaTest("SpatialSortingTest")
   103  	//runSingleJavaTest("SpatialTest")
   104  	//runSingleJavaTest("SpatialQueriesTest")
   105  	//runSingleJavaTest("SpatialSearchTest")
   106  	//runSingleJavaTest("WhatChangedTest")
   107  	//runSingleJavaTest("WhatChangedTest")
   108  	//runSingleJavaTest("FirstClassPatchTest")
   109  	//runSingleJavaTest("RavenDB_8761")
   110  	//runSingleJavaTest("RavenDB_10641Test")
   111  	//runSingleJavaTest("SimonBartlettTest")
   112  	//runSingleJavaTest("RavenDB_9676Test")
   113  	//runSingleJavaTest("RavenDB_5669Test")
   114  	//runSingleJavaTest("RavenDB903Test")
   115  	//runSingleJavaTest("CustomSerializationTest")
   116  	//runSingleJavaTest("QueriesWithCustomFunctionsTest")
   117  	//runSingleJavaTest("SuggestionsTest")
   118  	//runSingleJavaTest("MoreLikeThisTest")
   119  	//runSingleJavaTest("ChangesTest")
   120  	//runSingleJavaTest("DocumentStreaming")
   121  	//runSingleJavaTest("QueryStreaming")
   122  	//runSingleJavaTest("LoadAllStartingWith")
   123  	//runSingleJavaTest("SuggestionsLazyTest")
   124  	//runSingleJavaTest("LazyTest")
   125  	//runSingleJavaTest("LazyAggregationEmbedded")
   126  	//runSingleJavaTest("AggressiveCaching")
   127  	//runSingleJavaTest("CachingOfDocumentInclude")
   128  	//runSingleJavaTest("RevisionsSubscriptionsTest")
   129  	runSingleJavaTest("SubscriptionsBasicTest")
   130  	//runSingleJavaTest("SecuredSubscriptionsBasicTest")
   131  	//runSingleJavaTest("FacetPagingTest")
   132  }
   133  
   134  func main() {
   135  	runJava()
   136  }