Browse Source

Add tests

Signed-off-by: Vadim Markovtsev <vadim@sourced.tech>
Vadim Markovtsev 6 years ago
parent
commit
1f9ec6bbc2
2 changed files with 21 additions and 1 deletions
  1. 11 0
      internal/core/pipeline_test.go
  2. 10 1
      internal/plumbing/uast/uast_test.go

+ 11 - 0
internal/core/pipeline_test.go

@@ -29,6 +29,8 @@ type testPipelineItem struct {
 	TestError        bool
 	TestError        bool
 	ConfigureRaises  bool
 	ConfigureRaises  bool
 	InitializeRaises bool
 	InitializeRaises bool
+	InitializePanics bool
+	ConsumePanics    bool
 }
 }
 
 
 func (item *testPipelineItem) Name() string {
 func (item *testPipelineItem) Name() string {
@@ -76,6 +78,9 @@ func (item *testPipelineItem) Features() []string {
 }
 }
 
 
 func (item *testPipelineItem) Initialize(repository *git.Repository) error {
 func (item *testPipelineItem) Initialize(repository *git.Repository) error {
+	if item.InitializePanics {
+		panic("!")
+	}
 	item.Initialized = repository != nil
 	item.Initialized = repository != nil
 	item.Merged = new(bool)
 	item.Merged = new(bool)
 	item.MergeState = new(int)
 	item.MergeState = new(int)
@@ -89,6 +94,9 @@ func (item *testPipelineItem) Consume(deps map[string]interface{}) (map[string]i
 	if item.TestError {
 	if item.TestError {
 		return nil, errors.New("error")
 		return nil, errors.New("error")
 	}
 	}
+	if item.ConsumePanics {
+		panic("!")
+	}
 	obj, exists := deps[DependencyCommit]
 	obj, exists := deps[DependencyCommit]
 	item.DepsConsumed = exists
 	item.DepsConsumed = exists
 	if item.DepsConsumed {
 	if item.DepsConsumed {
@@ -268,6 +276,9 @@ func TestPipelineErrors(t *testing.T) {
 	assert.NotNil(t, err)
 	assert.NotNil(t, err)
 	assert.Contains(t, err.Error(), "initialize")
 	assert.Contains(t, err.Error(), "initialize")
 	assert.Contains(t, err.Error(), "test2")
 	assert.Contains(t, err.Error(), "test2")
+	item.InitializeRaises = false
+	item.InitializePanics = true
+	assert.Panics(t, func() { pipeline.Initialize(map[string]interface{}{}) })
 }
 }
 
 
 func TestPipelineRun(t *testing.T) {
 func TestPipelineRun(t *testing.T) {

+ 10 - 1
internal/plumbing/uast/uast_test.go

@@ -23,7 +23,10 @@ import (
 
 
 func fixtureUASTExtractor() *Extractor {
 func fixtureUASTExtractor() *Extractor {
 	exr := Extractor{Endpoint: "0.0.0.0:9432"}
 	exr := Extractor{Endpoint: "0.0.0.0:9432"}
-	exr.Initialize(test.Repository)
+	err := exr.Initialize(test.Repository)
+	if err != nil {
+		panic(err)
+	}
 	return &exr
 	return &exr
 }
 }
 
 
@@ -80,6 +83,12 @@ func TestUASTExtractorRegistration(t *testing.T) {
 	assert.Equal(t, summoned[0].Name(), "UAST")
 	assert.Equal(t, summoned[0].Name(), "UAST")
 }
 }
 
 
+func TestUASTExtractorNoBabelfish(t *testing.T) {
+	exr := Extractor{Endpoint: "0.0.0.0:56934"}
+	err := exr.Initialize(test.Repository)
+	assert.NotNil(t, err)
+}
+
 func TestUASTExtractorConsume(t *testing.T) {
 func TestUASTExtractorConsume(t *testing.T) {
 	exr := fixtureUASTExtractor()
 	exr := fixtureUASTExtractor()
 	changes := make(object.Changes, 3)
 	changes := make(object.Changes, 3)