Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pipelinetriggers): set pipeline-cache.filterFront50Pipelines to … #1416

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ public class PipelineCacheConfigurationProperties {
* If false, query front50 for all pipelines. If true, query front50 for only enabled pipelines
* with enabled triggers with types that echo requires.
*/
private boolean filterFront50Pipelines;
private boolean filterFront50Pipelines = true;
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import com.netflix.spinnaker.echo.pipelinetriggers.eventhandlers.BaseTriggerEven
import com.netflix.spinnaker.echo.pipelinetriggers.orca.OrcaService
import com.netflix.spinnaker.echo.services.Front50Service
import com.netflix.spinnaker.echo.test.RetrofitStubs
import spock.lang.Unroll
import spock.lang.Shared
import spock.lang.Specification
import spock.lang.Subject
Expand Down Expand Up @@ -70,7 +71,7 @@ class PipelineCacheSpec extends Specification implements RetrofitStubs {
def pipeline = Pipeline.builder().application('application').name('Pipeline').id('P1').build()

def initialLoad = []
front50.getPipelines() >> initialLoad >> { throw unavailable() } >> [pipelineMap]
front50.getPipelines(true, true, supportedTriggers) >> initialLoad >> { throw unavailable() } >> [pipelineMap]
pipelineCache.start()

expect: 'null pipelines when we have not polled yet'
Expand All @@ -95,16 +96,25 @@ class PipelineCacheSpec extends Specification implements RetrofitStubs {
pipelineCache.getPipelines() == [pipeline]
}

def "filters front50 pipelines when configured to do so"() {
@Unroll
def "filters front50 pipelines when configured to do so (#filterFront50Pipelines)"() {
given:
pipelineCacheConfigurationProperties.filterFront50Pipelines = true
pipelineCacheConfigurationProperties.filterFront50Pipelines = filterFront50Pipelines

when:
pipelineCache.start()
pipelineCache.pollPipelineConfigs()

then:
1 * front50.getPipelines(true, true, supportedTriggers) >> [] // arbitrary return value
if (filterFront50Pipelines) {
1 * front50.getPipelines(true, true, supportedTriggers) >> [] // arbitrary return value
} else {
1 * front50.getPipelines() >> [] // arbitrary return value
}
0 * front50._

where:
filterFront50Pipelines << [true, false]
}

def "getPipelineById calls front50's getPipeline endpoint"() {
Expand Down