Add tests for jobs + mockgen for jenkins client

This commit is contained in:
antoniaklja 2019-01-02 16:41:33 +01:00
parent fef930791b
commit 64b9571c93
4 changed files with 1110 additions and 41 deletions

241
Gopkg.lock generated
View File

@ -2,250 +2,331 @@
[[projects]]
digest = "1:8713dd3229c46881bb56b24fa3b581a0faab01d12e2d973a830965c24061e449"
name = "cloud.google.com/go"
packages = ["compute/metadata"]
pruneopts = "NT"
revision = "1fd54cf41e6e0e178ffe3c52b0e2260281f603e3"
version = "v0.32.0"
[[projects]]
digest = "1:75d2b55b13298745ec068057251d05d65bbae0a668201fe45ad6986551a55601"
name = "github.com/BurntSushi/toml"
packages = ["."]
pruneopts = "NT"
revision = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005"
version = "v0.3.1"
[[projects]]
digest = "1:d8ebbd207f3d3266d4423ce4860c9f3794956306ded6c7ba312ecc69cdfbf04c"
name = "github.com/PuerkitoBio/purell"
packages = ["."]
pruneopts = "NT"
revision = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4"
version = "v1.1.0"
[[projects]]
branch = "master"
digest = "1:8098cd40cd09879efbf12e33bcd51ead4a66006ac802cd563a66c4f3373b9727"
name = "github.com/PuerkitoBio/urlesc"
packages = ["."]
pruneopts = "NT"
revision = "de5bf2ad457846296e2031421a34e2568e304e35"
[[projects]]
digest = "1:8d13c70d5898b091728540686c696baee0d64013b8e43089da80621a49410391"
name = "github.com/bndr/gojenkins"
packages = ["."]
pruneopts = "NT"
revision = "de43c03cf849dd63a9737df6e05791c7a176c93d"
[[projects]]
digest = "1:4b8b5811da6970495e04d1f4e98bb89518cc3cfc3b3f456bdb876ed7b6c74049"
name = "github.com/davecgh/go-spew"
packages = ["spew"]
pruneopts = "NT"
revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
version = "v1.1.1"
[[projects]]
digest = "1:707c9f4ee70cc3bb941cf5803d9b8e725bc02277a96301ac8e537510a712ec7c"
name = "github.com/docker/distribution"
packages = [
"digest",
"reference"
"reference",
]
pruneopts = "NT"
revision = "48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"
version = "v2.6.2"
[[projects]]
digest = "1:e6f888d4be8ec0f05c50e2aba83da4948b58045dee54d03be81fa74ea673302c"
name = "github.com/emicklei/go-restful"
packages = [
".",
"log"
"log",
]
pruneopts = "NT"
revision = "3eb9738c1697594ea6e71a7156a9bb32ed216cf0"
version = "v2.8.0"
[[projects]]
digest = "1:81466b4218bf6adddac2572a30ac733a9255919bc2f470b4827a317bd4ee1756"
name = "github.com/ghodss/yaml"
packages = ["."]
pruneopts = "NT"
revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7"
version = "v1.0.0"
[[projects]]
branch = "master"
digest = "1:d421af4c4fe51d399667d573982d663fe1fa67020a88d3ae43466ebfe8e2b5c9"
name = "github.com/go-logr/logr"
packages = ["."]
pruneopts = "NT"
revision = "9fb12b3b21c5415d16ac18dc5cd42c1cfdd40c4e"
[[projects]]
digest = "1:340497a512995aa69c0add901d79a2096b3449d35a44a6f1f1115091a9f8c687"
name = "github.com/go-logr/zapr"
packages = ["."]
pruneopts = "NT"
revision = "7536572e8d55209135cd5e7ccf7fce43dca217ab"
version = "v0.1.0"
[[projects]]
digest = "1:260f7ebefc63024c8dfe2c9f1a2935a89fa4213637a1f522f592f80c001cc441"
name = "github.com/go-openapi/jsonpointer"
packages = ["."]
pruneopts = "NT"
revision = "ef5f0afec364d3b9396b7b77b43dbe26bf1f8004"
version = "v0.17.2"
[[projects]]
digest = "1:98abd61947ff5c7c6fcfec5473d02a4821ed3a2dd99a4fbfdb7925b0dd745546"
name = "github.com/go-openapi/jsonreference"
packages = ["."]
pruneopts = "NT"
revision = "8483a886a90412cd6858df4ea3483dce9c8e35a3"
version = "v0.17.2"
[[projects]]
branch = "master"
digest = "1:dfab391de021809e0041f0ab5648da6b74dd16a685472a1b8c3dc06b3dca1ee2"
name = "github.com/go-openapi/spec"
packages = ["."]
pruneopts = "NT"
revision = "5bae59e25b21498baea7f9d46e9c147ec106a42e"
[[projects]]
digest = "1:983f95b2fae6fe8fdd361738325ed6090f4f3bd15ce4db745e899fb5b0fdfc46"
name = "github.com/go-openapi/swag"
packages = ["."]
pruneopts = "NT"
revision = "5899d5c5e619fda5fa86e14795a835f473ca284c"
version = "v0.17.2"
[[projects]]
digest = "1:4fb6ac9e2e67130ed8c5db4154684b390c1c0ce213ba3f4532b7edc614f78999"
name = "github.com/gobuffalo/envy"
packages = ["."]
pruneopts = "NT"
revision = "801d7253ade1f895f74596b9a96147ed2d3b087e"
version = "v1.6.11"
[[projects]]
digest = "1:2a9d5e367df8c95e780975ca1dd4010bef8e39a3777066d3880ce274b39d4b5a"
name = "github.com/gogo/protobuf"
packages = [
"proto",
"sortkeys"
"sortkeys",
]
pruneopts = "NT"
revision = "636bf0302bc95575d69441b25a2603156ffdddf1"
version = "v1.1.1"
[[projects]]
branch = "master"
digest = "1:e2b86e41f3d669fc36b50d31d32d22c8ac656c75aa5ea89717ce7177e134ff2a"
name = "github.com/golang/glog"
packages = ["."]
pruneopts = "NT"
revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
[[projects]]
branch = "master"
digest = "1:aaedc94233e56ed57cdb04e3abfacc85c90c14082b62e3cdbe8ea72fc06ee035"
name = "github.com/golang/groupcache"
packages = ["lru"]
pruneopts = "NT"
revision = "c65c006176ff7ff98bb916961c7abbc6b0afc0aa"
[[projects]]
digest = "1:3bc9b1450cb2386fcd3b9dad1b9a59ea877fe14ddf3c66bda4670f5e91b61b3f"
name = "github.com/golang/mock"
packages = ["gomock"]
pruneopts = "NT"
revision = "51421b967af1f557f93a59e0057aaf15ca02e29c"
version = "v1.2.0"
[[projects]]
digest = "1:d7cb4458ea8782e6efacd8f4940796ec559c90833509c436f40c4085b98156dd"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp"
"ptypes/timestamp",
]
pruneopts = "NT"
revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5"
version = "v1.2.0"
[[projects]]
branch = "master"
digest = "1:05f95ffdfcf651bdb0f05b40b69e7f5663047f8da75c72d58728acb59b5cc107"
name = "github.com/google/btree"
packages = ["."]
pruneopts = "NT"
revision = "4030bb1f1f0c35b30ca7009e9ebd06849dd45306"
[[projects]]
branch = "master"
digest = "1:52c5834e2bebac9030c97cc0798ac11c3aa8a39f098aeb419f142533da6cd3cc"
name = "github.com/google/gofuzz"
packages = ["."]
pruneopts = "NT"
revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1"
[[projects]]
digest = "1:a1578f7323eca2b88021fdc9a79a99833d40b12c32a5ea4f284e2fad19ea2657"
name = "github.com/google/uuid"
packages = ["."]
pruneopts = "NT"
revision = "d460ce9f8df2e77fb1ba55ca87fafed96c607494"
version = "v1.0.0"
[[projects]]
digest = "1:289332c13b80edfefc88397cce5266c16845dcf204fa2f6ac7e464ee4c7f6e96"
name = "github.com/googleapis/gnostic"
packages = [
"OpenAPIv2",
"compiler",
"extensions"
"extensions",
]
pruneopts = "NT"
revision = "7c663266750e7d82587642f65e60bc4083f1f84e"
version = "v0.2.0"
[[projects]]
branch = "master"
digest = "1:2a2caa63899dae26ed3e4510b806549fd416d94db24ad68279daa62881b26488"
name = "github.com/gregjones/httpcache"
packages = [
".",
"diskcache"
"diskcache",
]
pruneopts = "NT"
revision = "9cad4c3443a7200dd6400aef47183728de563a38"
[[projects]]
digest = "1:b42cde0e1f3c816dd57f57f7bbcf05ca40263ad96f168714c130c611fc0856a6"
name = "github.com/hashicorp/golang-lru"
packages = [
".",
"simplelru"
"simplelru",
]
pruneopts = "NT"
revision = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768"
version = "v0.5.0"
[[projects]]
digest = "1:9a52adf44086cead3b384e5d0dbf7a1c1cce65e67552ee3383a8561c42a18cd3"
name = "github.com/imdario/mergo"
packages = ["."]
pruneopts = "NT"
revision = "9f23e2d6bd2a77f959b2bf6acdbefd708a83a4a4"
version = "v0.3.6"
[[projects]]
digest = "1:f5b9328966ccea0970b1d15075698eff0ddb3e75889560aad2e9f76b289b536a"
name = "github.com/joho/godotenv"
packages = ["."]
pruneopts = "NT"
revision = "23d116af351c84513e1946b527c88823e476be13"
version = "v1.3.0"
[[projects]]
digest = "1:1d39c063244ad17c4b18e8da1551163b6ffb52bd1640a49a8ec5c3b7bf4dbd5d"
name = "github.com/json-iterator/go"
packages = ["."]
pruneopts = "NT"
revision = "1624edc4454b8682399def8740d46db5e4362ba4"
version = "v1.1.5"
[[projects]]
digest = "1:4059c14e87a2de3a434430340521b5feece186c1469eff0834c29a63870de3ed"
name = "github.com/konsorten/go-windows-terminal-sequences"
packages = ["."]
pruneopts = "NT"
revision = "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242"
version = "v1.0.1"
[[projects]]
branch = "master"
digest = "1:7d9fcac7f1228470c4ea0ee31cdfb662a758c44df691e39b3e76c11d3e12ba8f"
name = "github.com/mailru/easyjson"
packages = [
"buffer",
"jlexer",
"jwriter"
"jwriter",
]
pruneopts = "NT"
revision = "60711f1a8329503b04e1c88535f419d0bb440bff"
[[projects]]
digest = "1:56dbf15e091bf7926cb33a57cb6bdfc658fc6d3498d2f76f10a97ce7856f1fde"
name = "github.com/markbates/inflect"
packages = ["."]
pruneopts = "NT"
revision = "24b83195037b3bc61fcda2d28b7b0518bce293b6"
version = "v1.0.4"
[[projects]]
branch = "master"
digest = "1:0e9bfc47ab9941ecc3344e580baca5deb4091177e84dd9773b48b38ec26b93d5"
name = "github.com/mattbaird/jsonpatch"
packages = ["."]
pruneopts = "NT"
revision = "81af80346b1a01caae0cbc27fd3c1ba5b11e189f"
[[projects]]
digest = "1:2f42fa12d6911c7b7659738758631bec870b7e9b4c6be5444f963cdcfccc191f"
name = "github.com/modern-go/concurrent"
packages = ["."]
pruneopts = "NT"
revision = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
version = "1.0.3"
[[projects]]
digest = "1:c6aca19413b13dc59c220ad7430329e2ec454cc310bc6d8de2c7e2b93c18a0f6"
name = "github.com/modern-go/reflect2"
packages = ["."]
pruneopts = "NT"
revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"
version = "1.0.1"
[[projects]]
digest = "1:f3f95a7e55bd970e2d59af0131202401493016a7a90978cd1c4b7137d128bc1a"
name = "github.com/mrtazz/checkmake"
packages = ["logger"]
pruneopts = "NT"
revision = "53de3e70f28d26a6450a845505c43165cb150b72"
version = "0.1.0"
[[projects]]
digest = "1:121b82bf82f859edc43cc6ce42df4e231881874f576e48ba75b062fb1a2efc80"
name = "github.com/operator-framework/operator-sdk"
packages = [
"internal/util/fileutil",
@ -257,85 +338,109 @@
"pkg/scaffold/input",
"pkg/test",
"pkg/test/e2eutil",
"version"
"version",
]
pruneopts = "NT"
revision = "175a82edae514f57f597110af5447d3f9b1c0fc3"
version = "v0.2.0"
[[projects]]
digest = "1:93b1d84c5fa6d1ea52f4114c37714cddd84d5b78f151b62bb101128dd51399bf"
name = "github.com/pborman/uuid"
packages = ["."]
pruneopts = "NT"
revision = "adf5a7427709b9deb95d29d3fa8a2bf9cfd388f1"
version = "v1.2"
[[projects]]
branch = "master"
digest = "1:bf2ac97824a7221eb16b096aecc1c390d4c8a4e49524386aaa2e2dd215cbfb31"
name = "github.com/petar/GoLLRB"
packages = ["llrb"]
pruneopts = "NT"
revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"
[[projects]]
digest = "1:e4e9e026b8e4c5630205cd0208efb491b40ad40552e57f7a646bb8a46896077b"
name = "github.com/peterbourgon/diskv"
packages = ["."]
pruneopts = "NT"
revision = "5f041e8faa004a95c88a202771f4cc3e991971e6"
version = "v2.0.1"
[[projects]]
digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
name = "github.com/pmezard/go-difflib"
packages = ["difflib"]
pruneopts = "NT"
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
version = "v1.0.0"
[[projects]]
digest = "1:4e63570205b765959739e2ef37add1d229cab7dbf70d80341a0608816120493b"
name = "github.com/rogpeppe/go-internal"
packages = [
"modfile",
"module",
"semver"
"semver",
]
pruneopts = "NT"
revision = "d87f08a7d80821c797ffc8eb8f4e01675f378736"
version = "v1.0.0"
[[projects]]
digest = "1:cd2f2cba5b7ffafd0412fb647ff4bcff170292de57270f05fbbf391e3eb9566b"
name = "github.com/sirupsen/logrus"
packages = ["."]
pruneopts = "NT"
revision = "bcd833dfe83d3cebad139e4a29ed79cb2318bf95"
version = "v1.2.0"
[[projects]]
digest = "1:2a7c79c506479dc73c0100982a40bacc89e06d96dc458eb41c9b6aa44d9e0b6d"
name = "github.com/spf13/afero"
packages = [
".",
"mem"
"mem",
]
pruneopts = "NT"
revision = "d40851caa0d747393da1ffb28f7f9d8b4eeffebd"
version = "v1.1.2"
[[projects]]
digest = "1:9d8420bbf131d1618bde6530af37c3799340d3762cc47210c1d9532a4c3a2779"
name = "github.com/spf13/pflag"
packages = ["."]
pruneopts = "NT"
revision = "298182f68c66c05229eb03ac171abe6e309ee79a"
version = "v1.0.3"
[[projects]]
digest = "1:4af061277c04a7660e082acc2020f4c66d2c21dfc62e0242ffa1d2120cdfb4ec"
name = "github.com/stretchr/testify"
packages = ["assert"]
pruneopts = "NT"
revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686"
version = "v1.2.2"
[[projects]]
digest = "1:22f696cee54865fb8e9ff91df7b633f6b8f22037a8015253c6b6a71ca82219c7"
name = "go.uber.org/atomic"
packages = ["."]
pruneopts = "NT"
revision = "1ea20fb1cbb1cc08cbd0d913a96dead89aa18289"
version = "v1.3.2"
[[projects]]
digest = "1:58ca93bdf81bac106ded02226b5395a0595d5346cdc4caa8d9c1f3a5f8f9976e"
name = "go.uber.org/multierr"
packages = ["."]
pruneopts = "NT"
revision = "3c4937480c32f4c13a875a1829af76c98ca3d40a"
version = "v1.1.0"
[[projects]]
digest = "1:572fa4496563920f3e3107a2294cf2621d6cc4ffd03403fb6397b1bab9fa082a"
name = "go.uber.org/zap"
packages = [
".",
@ -343,19 +448,23 @@
"internal/bufferpool",
"internal/color",
"internal/exit",
"zapcore"
"zapcore",
]
pruneopts = "NT"
revision = "ff33455a0e382e8a81d14dd7c922020b6b5e7982"
version = "v1.9.1"
[[projects]]
branch = "master"
digest = "1:47924c7ab4b3a18145d150e535525f582a07511e5452c4e1a5b79d883c2a429f"
name = "golang.org/x/crypto"
packages = ["ssh/terminal"]
pruneopts = "NT"
revision = "4d3f4d9ffa16a13f451c3b2999e9c49e9750bf06"
[[projects]]
branch = "master"
digest = "1:a7fcf4f3e5247a06ad4c28108f0bc1d4ab980a1a0567e7790260cf2d3d77f37d"
name = "golang.org/x/net"
packages = [
"context",
@ -365,32 +474,38 @@
"http/httpguts",
"http2",
"http2/hpack",
"idna"
"idna",
]
pruneopts = "NT"
revision = "c10e9556a7bc0e7c942242b606f0acf024ad5d6a"
[[projects]]
branch = "master"
digest = "1:b17011812136abe011d81b40b30470808df923687e831760511d878408d208df"
name = "golang.org/x/oauth2"
packages = [
".",
"google",
"internal",
"jws",
"jwt"
"jwt",
]
pruneopts = "NT"
revision = "e0f2c55a7fc7d04742e0eef7918aa2389b0e1919"
[[projects]]
branch = "master"
digest = "1:04b92b5bc6c1031cc9083fbc2fdeda90f3a69b7c1bf5eed6bbf9a3563d946c6e"
name = "golang.org/x/sys"
packages = [
"unix",
"windows"
"windows",
]
pruneopts = "NT"
revision = "9b800f95dbbc54abff0acf7ee32d88ba4e328c89"
[[projects]]
digest = "1:8c74f97396ed63cc2ef04ebb5fc37bb032871b8fd890a25991ed40974b00cd2a"
name = "golang.org/x/text"
packages = [
"collate",
@ -407,29 +522,35 @@
"unicode/cldr",
"unicode/norm",
"unicode/rangetable",
"width"
"width",
]
pruneopts = "NT"
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[projects]]
branch = "master"
digest = "1:c9e7a4b4d47c0ed205d257648b0e5b0440880cb728506e318f8ac7cd36270bc4"
name = "golang.org/x/time"
packages = ["rate"]
pruneopts = "NT"
revision = "fbb02b2291d28baffd63558aa44b4b56f178d650"
[[projects]]
branch = "master"
digest = "1:d9646d2cb3517e532bcc75614352e589c5f26e6d1b8ae2587eaef0c7c60cea3a"
name = "golang.org/x/tools"
packages = [
"go/ast/astutil",
"imports",
"internal/fastwalk",
"internal/gopathwalk"
"internal/gopathwalk",
]
pruneopts = "NT"
revision = "92b943e6bff73e0dfe9e975d94043d8f31067b06"
[[projects]]
digest = "1:2a4972ee51c3b9dfafbb3451fa0552e7a198d9d12c721bfc492050fe2f72e0f6"
name = "google.golang.org/appengine"
packages = [
".",
@ -441,24 +562,30 @@
"internal/modules",
"internal/remote_api",
"internal/urlfetch",
"urlfetch"
"urlfetch",
]
pruneopts = "NT"
revision = "4a4468ece617fc8205e99368fa2200e9d1fad421"
version = "v1.3.0"
[[projects]]
digest = "1:2d1fbdc6777e5408cabeb02bf336305e724b925ff4546ded0fa8715a7267922a"
name = "gopkg.in/inf.v0"
packages = ["."]
pruneopts = "NT"
revision = "d2d2541c53f18d2a059457998ce2876cc8e67cbf"
version = "v0.9.1"
[[projects]]
digest = "1:7c95b35057a0ff2e19f707173cc1a947fa43a6eb5c4d300d196ece0334046082"
name = "gopkg.in/yaml.v2"
packages = ["."]
pruneopts = "NT"
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
version = "v2.2.1"
[[projects]]
digest = "1:f11e5753e619f411a51a49d60d39b2bc4da6766f5f0af2e2291daa6a3d9385d5"
name = "k8s.io/api"
packages = [
"admission/v1beta1",
@ -490,20 +617,24 @@
"settings/v1alpha1",
"storage/v1",
"storage/v1alpha1",
"storage/v1beta1"
"storage/v1beta1",
]
pruneopts = "NT"
revision = "2d6f90ab1293a1fb871cf149423ebb72aa7423aa"
[[projects]]
digest = "1:117a407949aaaad9f7fbe3da8d6c2055f2c223ac0cbebd39f47ff71899622a91"
name = "k8s.io/apiextensions-apiserver"
packages = [
"pkg/apis/apiextensions",
"pkg/apis/apiextensions/v1beta1",
"pkg/client/clientset/clientset/scheme"
"pkg/client/clientset/clientset/scheme",
]
pruneopts = "NT"
revision = "408db4a50408e2149acbd657bceb2480c13cb0a4"
[[projects]]
digest = "1:b07bf863262aae765494d60f0d524483f211b29f9bb27d445a79c13af8676bf2"
name = "k8s.io/apimachinery"
packages = [
"pkg/api/errors",
@ -547,11 +678,13 @@
"pkg/version",
"pkg/watch",
"third_party/forked/golang/json",
"third_party/forked/golang/reflect"
"third_party/forked/golang/reflect",
]
pruneopts = "NT"
revision = "103fd098999dc9c0c88536f5c9ad2e5da39373ae"
[[projects]]
digest = "1:1689a49a3ebc6e379849181f1e0899fccf143cab47586078721818bdcdb712bc"
name = "k8s.io/client-go"
packages = [
"discovery",
@ -620,11 +753,13 @@
"util/integer",
"util/jsonpath",
"util/retry",
"util/workqueue"
"util/workqueue",
]
pruneopts = "NT"
revision = "1f13a808da65775f22cbf47862c4e5898d8f4ca1"
[[projects]]
digest = "1:8ab487a323486c8bbbaa3b689850487fdccc6cbea8690620e083b2d230a4447e"
name = "k8s.io/code-generator"
packages = [
"cmd/client-gen",
@ -650,12 +785,14 @@
"cmd/lister-gen/generators",
"cmd/openapi-gen",
"cmd/openapi-gen/args",
"pkg/util"
"pkg/util",
]
pruneopts = "T"
revision = "6702109cc68eb6fe6350b83e14407c8d7309fd1a"
[[projects]]
branch = "master"
digest = "1:c84b5ef38d786290246a9cc791a48b6ed890cd32468179a51a91492161ec6d65"
name = "k8s.io/gengo"
packages = [
"args",
@ -665,11 +802,13 @@
"generator",
"namer",
"parser",
"types"
"types",
]
pruneopts = "NT"
revision = "7338e4bfd6915369a1375890db1bbda0158c9863"
[[projects]]
digest = "1:c48a795cd7048bb1888273bc604b6e69b22f9b8089c3df65f77cc527757b515c"
name = "k8s.io/kube-openapi"
packages = [
"cmd/openapi-gen/args",
@ -677,11 +816,13 @@
"pkg/generators",
"pkg/generators/rules",
"pkg/util/proto",
"pkg/util/sets"
"pkg/util/sets",
]
pruneopts = "NT"
revision = "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803"
[[projects]]
digest = "1:d1b7a6ed45c957e6308759f31fdbff8063741ecb08b7c3b6d67f0c9f4357b2ae"
name = "sigs.k8s.io/controller-runtime"
packages = [
"pkg/cache",
@ -710,14 +851,60 @@
"pkg/source/internal",
"pkg/webhook/admission",
"pkg/webhook/admission/types",
"pkg/webhook/types"
"pkg/webhook/types",
]
pruneopts = "NT"
revision = "5fd1e9e9fac5261e9ad9d47c375afc014fc31d21"
version = "v0.1.7"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "781fe36c1f78cefee37a5abd84f77b3213ed0b33b98b697f379338ef763422b3"
input-imports = [
"github.com/bndr/gojenkins",
"github.com/docker/distribution/reference",
"github.com/go-logr/logr",
"github.com/golang/mock/gomock",
"github.com/mrtazz/checkmake/logger",
"github.com/operator-framework/operator-sdk/pkg/k8sutil",
"github.com/operator-framework/operator-sdk/pkg/leader",
"github.com/operator-framework/operator-sdk/pkg/ready",
"github.com/operator-framework/operator-sdk/pkg/test",
"github.com/operator-framework/operator-sdk/pkg/test/e2eutil",
"github.com/operator-framework/operator-sdk/version",
"github.com/stretchr/testify/assert",
"k8s.io/api/core/v1",
"k8s.io/apimachinery/pkg/api/errors",
"k8s.io/apimachinery/pkg/api/resource",
"k8s.io/apimachinery/pkg/apis/meta/v1",
"k8s.io/apimachinery/pkg/labels",
"k8s.io/apimachinery/pkg/runtime",
"k8s.io/apimachinery/pkg/runtime/schema",
"k8s.io/apimachinery/pkg/types",
"k8s.io/apimachinery/pkg/util/intstr",
"k8s.io/apimachinery/pkg/util/wait",
"k8s.io/client-go/kubernetes/scheme",
"k8s.io/client-go/plugin/pkg/client/auth/gcp",
"k8s.io/code-generator/cmd/client-gen",
"k8s.io/code-generator/cmd/conversion-gen",
"k8s.io/code-generator/cmd/deepcopy-gen",
"k8s.io/code-generator/cmd/defaulter-gen",
"k8s.io/code-generator/cmd/informer-gen",
"k8s.io/code-generator/cmd/lister-gen",
"k8s.io/code-generator/cmd/openapi-gen",
"k8s.io/gengo/args",
"sigs.k8s.io/controller-runtime/pkg/client",
"sigs.k8s.io/controller-runtime/pkg/client/config",
"sigs.k8s.io/controller-runtime/pkg/client/fake",
"sigs.k8s.io/controller-runtime/pkg/controller",
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil",
"sigs.k8s.io/controller-runtime/pkg/handler",
"sigs.k8s.io/controller-runtime/pkg/manager",
"sigs.k8s.io/controller-runtime/pkg/reconcile",
"sigs.k8s.io/controller-runtime/pkg/runtime/log",
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme",
"sigs.k8s.io/controller-runtime/pkg/runtime/signals",
"sigs.k8s.io/controller-runtime/pkg/source",
]
solver-name = "gps-cdcl"
solver-version = 1

View File

@ -0,0 +1,609 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: /home/bartek/go/src/github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/client/jenkins.go
// Package mock_client is a generated GoMock package.
package client
import (
"github.com/bndr/gojenkins"
"github.com/golang/mock/gomock"
"reflect"
)
// MockJenkins is a mock of Jenkins interface
type MockJenkins struct {
ctrl *gomock.Controller
recorder *MockJenkinsMockRecorder
}
// MockJenkinsMockRecorder is the mock recorder for MockJenkins
type MockJenkinsMockRecorder struct {
mock *MockJenkins
}
// NewMockJenkins creates a new mock instance
func NewMockJenkins(ctrl *gomock.Controller) *MockJenkins {
mock := &MockJenkins{ctrl: ctrl}
mock.recorder = &MockJenkinsMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockJenkins) EXPECT() *MockJenkinsMockRecorder {
return m.recorder
}
// GenerateToken mocks base method
func (m *MockJenkins) GenerateToken(userName, tokenName string) (*UserToken, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GenerateToken", userName, tokenName)
ret0, _ := ret[0].(*UserToken)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GenerateToken indicates an expected call of GenerateToken
func (mr *MockJenkinsMockRecorder) GenerateToken(userName, tokenName interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenerateToken", reflect.TypeOf((*MockJenkins)(nil).GenerateToken), userName, tokenName)
}
// Info mocks base method
func (m *MockJenkins) Info() (*gojenkins.ExecutorResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Info")
ret0, _ := ret[0].(*gojenkins.ExecutorResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Info indicates an expected call of Info
func (mr *MockJenkinsMockRecorder) Info() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockJenkins)(nil).Info))
}
// SafeRestart mocks base method
func (m *MockJenkins) SafeRestart() error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "SafeRestart")
ret0, _ := ret[0].(error)
return ret0
}
// SafeRestart indicates an expected call of SafeRestart
func (mr *MockJenkinsMockRecorder) SafeRestart() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SafeRestart", reflect.TypeOf((*MockJenkins)(nil).SafeRestart))
}
// CreateNode mocks base method
func (m *MockJenkins) CreateNode(name string, numExecutors int, description, remoteFS, label string, options ...interface{}) (*gojenkins.Node, error) {
m.ctrl.T.Helper()
varargs := []interface{}{name, numExecutors, description, remoteFS, label}
for _, a := range options {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateNode", varargs...)
ret0, _ := ret[0].(*gojenkins.Node)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateNode indicates an expected call of CreateNode
func (mr *MockJenkinsMockRecorder) CreateNode(name, numExecutors, description, remoteFS, label interface{}, options ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{name, numExecutors, description, remoteFS, label}, options...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNode", reflect.TypeOf((*MockJenkins)(nil).CreateNode), varargs...)
}
// DeleteNode mocks base method
func (m *MockJenkins) DeleteNode(name string) (bool, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteNode", name)
ret0, _ := ret[0].(bool)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// DeleteNode indicates an expected call of DeleteNode
func (mr *MockJenkinsMockRecorder) DeleteNode(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNode", reflect.TypeOf((*MockJenkins)(nil).DeleteNode), name)
}
// CreateFolder mocks base method
func (m *MockJenkins) CreateFolder(name string, parents ...string) (*gojenkins.Folder, error) {
m.ctrl.T.Helper()
varargs := []interface{}{name}
for _, a := range parents {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateFolder", varargs...)
ret0, _ := ret[0].(*gojenkins.Folder)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateFolder indicates an expected call of CreateFolder
func (mr *MockJenkinsMockRecorder) CreateFolder(name interface{}, parents ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{name}, parents...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFolder", reflect.TypeOf((*MockJenkins)(nil).CreateFolder), varargs...)
}
// CreateJobInFolder mocks base method
func (m *MockJenkins) CreateJobInFolder(config, jobName string, parentIDs ...string) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
varargs := []interface{}{config, jobName}
for _, a := range parentIDs {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateJobInFolder", varargs...)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateJobInFolder indicates an expected call of CreateJobInFolder
func (mr *MockJenkinsMockRecorder) CreateJobInFolder(config, jobName interface{}, parentIDs ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{config, jobName}, parentIDs...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateJobInFolder", reflect.TypeOf((*MockJenkins)(nil).CreateJobInFolder), varargs...)
}
// CreateJob mocks base method
func (m *MockJenkins) CreateJob(config string, options ...interface{}) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
varargs := []interface{}{config}
for _, a := range options {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateJob", varargs...)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateJob indicates an expected call of CreateJob
func (mr *MockJenkinsMockRecorder) CreateJob(config interface{}, options ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{config}, options...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateJob", reflect.TypeOf((*MockJenkins)(nil).CreateJob), varargs...)
}
// CreateOrUpdateJob mocks base method
func (m *MockJenkins) CreateOrUpdateJob(config string, options ...interface{}) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
varargs := []interface{}{config}
for _, a := range options {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "CreateOrUpdateJob", varargs...)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateOrUpdateJob indicates an expected call of CreateOrUpdateJob
func (mr *MockJenkinsMockRecorder) CreateOrUpdateJob(config interface{}, options ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{config}, options...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateJob", reflect.TypeOf((*MockJenkins)(nil).CreateOrUpdateJob), varargs...)
}
// RenameJob mocks base method
func (m *MockJenkins) RenameJob(job, name string) *gojenkins.Job {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "RenameJob", job, name)
ret0, _ := ret[0].(*gojenkins.Job)
return ret0
}
// RenameJob indicates an expected call of RenameJob
func (mr *MockJenkinsMockRecorder) RenameJob(job, name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RenameJob", reflect.TypeOf((*MockJenkins)(nil).RenameJob), job, name)
}
// CopyJob mocks base method
func (m *MockJenkins) CopyJob(copyFrom, newName string) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CopyJob", copyFrom, newName)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CopyJob indicates an expected call of CopyJob
func (mr *MockJenkinsMockRecorder) CopyJob(copyFrom, newName interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CopyJob", reflect.TypeOf((*MockJenkins)(nil).CopyJob), copyFrom, newName)
}
// DeleteJob mocks base method
func (m *MockJenkins) DeleteJob(name string) (bool, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteJob", name)
ret0, _ := ret[0].(bool)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// DeleteJob indicates an expected call of DeleteJob
func (mr *MockJenkinsMockRecorder) DeleteJob(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJob", reflect.TypeOf((*MockJenkins)(nil).DeleteJob), name)
}
// BuildJob mocks base method
func (m *MockJenkins) BuildJob(name string, options ...interface{}) (int64, error) {
m.ctrl.T.Helper()
varargs := []interface{}{name}
for _, a := range options {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "BuildJob", varargs...)
ret0, _ := ret[0].(int64)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// BuildJob indicates an expected call of BuildJob
func (mr *MockJenkinsMockRecorder) BuildJob(name interface{}, options ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{name}, options...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildJob", reflect.TypeOf((*MockJenkins)(nil).BuildJob), varargs...)
}
// GetNode mocks base method
func (m *MockJenkins) GetNode(name string) (*gojenkins.Node, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetNode", name)
ret0, _ := ret[0].(*gojenkins.Node)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetNode indicates an expected call of GetNode
func (mr *MockJenkinsMockRecorder) GetNode(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNode", reflect.TypeOf((*MockJenkins)(nil).GetNode), name)
}
// GetLabel mocks base method
func (m *MockJenkins) GetLabel(name string) (*gojenkins.Label, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetLabel", name)
ret0, _ := ret[0].(*gojenkins.Label)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetLabel indicates an expected call of GetLabel
func (mr *MockJenkinsMockRecorder) GetLabel(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLabel", reflect.TypeOf((*MockJenkins)(nil).GetLabel), name)
}
// GetBuild mocks base method
func (m *MockJenkins) GetBuild(jobName string, number int64) (*gojenkins.Build, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetBuild", jobName, number)
ret0, _ := ret[0].(*gojenkins.Build)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetBuild indicates an expected call of GetBuild
func (mr *MockJenkinsMockRecorder) GetBuild(jobName, number interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBuild", reflect.TypeOf((*MockJenkins)(nil).GetBuild), jobName, number)
}
// GetJob mocks base method
func (m *MockJenkins) GetJob(id string, parentIDs ...string) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
varargs := []interface{}{id}
for _, a := range parentIDs {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "GetJob", varargs...)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetJob indicates an expected call of GetJob
func (mr *MockJenkinsMockRecorder) GetJob(id interface{}, parentIDs ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{id}, parentIDs...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetJob", reflect.TypeOf((*MockJenkins)(nil).GetJob), varargs...)
}
// GetSubJob mocks base method
func (m *MockJenkins) GetSubJob(parentID, childID string) (*gojenkins.Job, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetSubJob", parentID, childID)
ret0, _ := ret[0].(*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetSubJob indicates an expected call of GetSubJob
func (mr *MockJenkinsMockRecorder) GetSubJob(parentID, childID interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubJob", reflect.TypeOf((*MockJenkins)(nil).GetSubJob), parentID, childID)
}
// GetFolder mocks base method
func (m *MockJenkins) GetFolder(id string, parents ...string) (*gojenkins.Folder, error) {
m.ctrl.T.Helper()
varargs := []interface{}{id}
for _, a := range parents {
varargs = append(varargs, a)
}
ret := m.ctrl.Call(m, "GetFolder", varargs...)
ret0, _ := ret[0].(*gojenkins.Folder)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetFolder indicates an expected call of GetFolder
func (mr *MockJenkinsMockRecorder) GetFolder(id interface{}, parents ...interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
varargs := append([]interface{}{id}, parents...)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFolder", reflect.TypeOf((*MockJenkins)(nil).GetFolder), varargs...)
}
// GetAllNodes mocks base method
func (m *MockJenkins) GetAllNodes() ([]*gojenkins.Node, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllNodes")
ret0, _ := ret[0].([]*gojenkins.Node)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllNodes indicates an expected call of GetAllNodes
func (mr *MockJenkinsMockRecorder) GetAllNodes() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllNodes", reflect.TypeOf((*MockJenkins)(nil).GetAllNodes))
}
// GetAllBuildIds mocks base method
func (m *MockJenkins) GetAllBuildIds(job string) ([]gojenkins.JobBuild, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllBuildIds", job)
ret0, _ := ret[0].([]gojenkins.JobBuild)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllBuildIds indicates an expected call of GetAllBuildIds
func (mr *MockJenkinsMockRecorder) GetAllBuildIds(job interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllBuildIds", reflect.TypeOf((*MockJenkins)(nil).GetAllBuildIds), job)
}
// GetAllJobNames mocks base method
func (m *MockJenkins) GetAllJobNames() ([]gojenkins.InnerJob, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllJobNames")
ret0, _ := ret[0].([]gojenkins.InnerJob)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllJobNames indicates an expected call of GetAllJobNames
func (mr *MockJenkinsMockRecorder) GetAllJobNames() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllJobNames", reflect.TypeOf((*MockJenkins)(nil).GetAllJobNames))
}
// GetAllJobs mocks base method
func (m *MockJenkins) GetAllJobs() ([]*gojenkins.Job, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllJobs")
ret0, _ := ret[0].([]*gojenkins.Job)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllJobs indicates an expected call of GetAllJobs
func (mr *MockJenkinsMockRecorder) GetAllJobs() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllJobs", reflect.TypeOf((*MockJenkins)(nil).GetAllJobs))
}
// GetQueue mocks base method
func (m *MockJenkins) GetQueue() (*gojenkins.Queue, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetQueue")
ret0, _ := ret[0].(*gojenkins.Queue)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetQueue indicates an expected call of GetQueue
func (mr *MockJenkinsMockRecorder) GetQueue() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetQueue", reflect.TypeOf((*MockJenkins)(nil).GetQueue))
}
// GetQueueUrl mocks base method
func (m *MockJenkins) GetQueueUrl() string {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetQueueUrl")
ret0, _ := ret[0].(string)
return ret0
}
// GetQueueUrl indicates an expected call of GetQueueUrl
func (mr *MockJenkinsMockRecorder) GetQueueUrl() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetQueueUrl", reflect.TypeOf((*MockJenkins)(nil).GetQueueUrl))
}
// GetQueueItem mocks base method
func (m *MockJenkins) GetQueueItem(id int64) (*gojenkins.Task, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetQueueItem", id)
ret0, _ := ret[0].(*gojenkins.Task)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetQueueItem indicates an expected call of GetQueueItem
func (mr *MockJenkinsMockRecorder) GetQueueItem(id interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetQueueItem", reflect.TypeOf((*MockJenkins)(nil).GetQueueItem), id)
}
// GetArtifactData mocks base method
func (m *MockJenkins) GetArtifactData(id string) (*gojenkins.FingerPrintResponse, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetArtifactData", id)
ret0, _ := ret[0].(*gojenkins.FingerPrintResponse)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetArtifactData indicates an expected call of GetArtifactData
func (mr *MockJenkinsMockRecorder) GetArtifactData(id interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetArtifactData", reflect.TypeOf((*MockJenkins)(nil).GetArtifactData), id)
}
// GetPlugins mocks base method
func (m *MockJenkins) GetPlugins(depth int) (*gojenkins.Plugins, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetPlugins", depth)
ret0, _ := ret[0].(*gojenkins.Plugins)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetPlugins indicates an expected call of GetPlugins
func (mr *MockJenkinsMockRecorder) GetPlugins(depth interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlugins", reflect.TypeOf((*MockJenkins)(nil).GetPlugins), depth)
}
// UninstallPlugin mocks base method
func (m *MockJenkins) UninstallPlugin(name string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UninstallPlugin", name)
ret0, _ := ret[0].(error)
return ret0
}
// UninstallPlugin indicates an expected call of UninstallPlugin
func (mr *MockJenkinsMockRecorder) UninstallPlugin(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UninstallPlugin", reflect.TypeOf((*MockJenkins)(nil).UninstallPlugin), name)
}
// HasPlugin mocks base method
func (m *MockJenkins) HasPlugin(name string) (*gojenkins.Plugin, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "HasPlugin", name)
ret0, _ := ret[0].(*gojenkins.Plugin)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// HasPlugin indicates an expected call of HasPlugin
func (mr *MockJenkinsMockRecorder) HasPlugin(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HasPlugin", reflect.TypeOf((*MockJenkins)(nil).HasPlugin), name)
}
// InstallPlugin mocks base method
func (m *MockJenkins) InstallPlugin(name, version string) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "InstallPlugin", name, version)
ret0, _ := ret[0].(error)
return ret0
}
// InstallPlugin indicates an expected call of InstallPlugin
func (mr *MockJenkinsMockRecorder) InstallPlugin(name, version interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstallPlugin", reflect.TypeOf((*MockJenkins)(nil).InstallPlugin), name, version)
}
// ValidateFingerPrint mocks base method
func (m *MockJenkins) ValidateFingerPrint(id string) (bool, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ValidateFingerPrint", id)
ret0, _ := ret[0].(bool)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// ValidateFingerPrint indicates an expected call of ValidateFingerPrint
func (mr *MockJenkinsMockRecorder) ValidateFingerPrint(id interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateFingerPrint", reflect.TypeOf((*MockJenkins)(nil).ValidateFingerPrint), id)
}
// GetView mocks base method
func (m *MockJenkins) GetView(name string) (*gojenkins.View, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetView", name)
ret0, _ := ret[0].(*gojenkins.View)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetView indicates an expected call of GetView
func (mr *MockJenkinsMockRecorder) GetView(name interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetView", reflect.TypeOf((*MockJenkins)(nil).GetView), name)
}
// GetAllViews mocks base method
func (m *MockJenkins) GetAllViews() ([]*gojenkins.View, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAllViews")
ret0, _ := ret[0].([]*gojenkins.View)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// GetAllViews indicates an expected call of GetAllViews
func (mr *MockJenkinsMockRecorder) GetAllViews() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllViews", reflect.TypeOf((*MockJenkins)(nil).GetAllViews))
}
// CreateView mocks base method
func (m *MockJenkins) CreateView(name, viewType string) (*gojenkins.View, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CreateView", name, viewType)
ret0, _ := ret[0].(*gojenkins.View)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateView indicates an expected call of CreateView
func (mr *MockJenkinsMockRecorder) CreateView(name, viewType interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateView", reflect.TypeOf((*MockJenkins)(nil).CreateView), name, viewType)
}
// Poll mocks base method
func (m *MockJenkins) Poll() (int, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Poll")
ret0, _ := ret[0].(int)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Poll indicates an expected call of Poll
func (mr *MockJenkinsMockRecorder) Poll() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Poll", reflect.TypeOf((*MockJenkins)(nil).Poll))
}

View File

@ -41,7 +41,7 @@ var (
// ErrorBuildFailed - this is custom error returned when jenkins build has failed
ErrorBuildFailed = errors.New("build failed")
// ErrorAbortBuildFailed - this is custom error returned when jenkins build couldn't be aborted
ErrorAbortBuildFailed = errors.New("build failed")
ErrorAbortBuildFailed = errors.New("build abort failed")
// ErrorUncoverBuildFailed - this is custom error returned when jenkins build has failed and cannot be recovered
ErrorUncoverBuildFailed = errors.New("build failed and cannot be recovered")
// ErrorNotFound - this is error returned when jenkins build couldn't be found
@ -96,7 +96,13 @@ func (jobs *Jobs) EnsureBuildJob(name, hash string, parameters map[string]string
// build is run first time - build job and update status
jobs.logger.Info(fmt.Sprintf("Build doesn't exist, running and updating status, name:'%s' hash:'%s'", name, hash))
return jobs.buildJob(name, hash, parameters, jenkins)
created := metav1.Now()
newBuild := virtuslabv1alpha1.Build{
Name: name,
Hash: hash,
CreateTime: &created,
}
return jobs.buildJob(newBuild, parameters, jenkins)
}
func (jobs *Jobs) getBuildFromStatus(name string, hash string, jenkins *virtuslabv1alpha1.Jenkins) (*virtuslabv1alpha1.Build, error) {
@ -185,7 +191,8 @@ func (jobs *Jobs) ensureFailedBuild(build virtuslabv1alpha1.Build, jenkins *virt
if build.Retires < MaxBuildRetires {
jobs.logger.Info(fmt.Sprintf("Retrying build, name:'%s' hash:'%s' retries: '%d'", build.Name, build.Hash, build.Retires))
_, err := jobs.buildJob(build.Name, build.Hash, parameters, jenkins)
build.Retires = build.Retires + 1
_, err := jobs.buildJob(build, parameters, jenkins)
if err != nil {
jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Couldn't retry build, name:'%s' hash:'%s'", build.Name, build.Hash))
return false, err
@ -272,27 +279,23 @@ func (jobs *Jobs) removeBuildFromStatus(build virtuslabv1alpha1.Build, jenkins *
return nil
}
func (jobs *Jobs) buildJob(name string, hash string, parameters map[string]string, jenkins *virtuslabv1alpha1.Jenkins) (bool, error) {
func (jobs *Jobs) buildJob(build virtuslabv1alpha1.Build, parameters map[string]string, jenkins *virtuslabv1alpha1.Jenkins) (bool, error) {
if jenkins == nil {
return false, ErrorEmptyJenkinsCR
}
jobs.logger.Info(fmt.Sprintf("Running build, name:'%s' hash:'%s'", name, hash))
jobs.logger.Info(fmt.Sprintf("Running build, name:'%s' hash:'%s'", build.Name, build.Hash))
number, err := jobs.jenkinsClient.BuildJob(name, parameters)
number, err := jobs.jenkinsClient.BuildJob(build.Name, parameters)
if err != nil {
jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Couldn't run build, name:'%s' hash:'%s' number:'%d'", name, hash, number))
jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Couldn't run build, name:'%s' hash:'%s' number:'%d'", build.Name, build.Hash, number))
return false, err
}
build := virtuslabv1alpha1.Build{
Name: name,
Number: number,
Hash: hash,
Status: RunningStatus,
}
build.Status = RunningStatus
build.Number = number
jobs.logger.Info(fmt.Sprintf("Updating build status, name:'%s' hash:'%s' status:'%s'", name, hash, build.Status))
jobs.logger.Info(fmt.Sprintf("Updating build status, name:'%s' hash:'%s' status:'%s'", build.Name, build.Hash, build.Status))
err = jobs.updateBuildStatus(build, jenkins)
if err != nil {
jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Couldn't update build status, name:'%s' hash:'%s'", build.Name, build.Hash))

View File

@ -1 +1,271 @@
package jobs
import (
"context"
"crypto/sha256"
"encoding/base64"
"os"
"testing"
virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
"github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/client"
"github.com/bndr/gojenkins"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/assert"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes/scheme"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
)
func TestMain(m *testing.M) {
virtuslabv1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme)
os.Exit(m.Run())
}
func TestSuccessEnsureJob(t *testing.T) {
// given
logger := logf.ZapLogger(false)
ctrl := gomock.NewController(t)
ctx := context.TODO()
defer ctrl.Finish()
buildName := "Test Job"
buildNumber := int64(1)
jenkinsClient := client.NewMockJenkins(ctrl)
fakeClient := fake.NewFakeClient()
hash := sha256.New()
hash.Write([]byte(buildName))
encodedHash := base64.URLEncoding.EncodeToString(hash.Sum(nil))
// when
jenkins := jenkinsCustomResource()
err := fakeClient.Create(ctx, jenkins)
assert.NoError(t, err)
jobs := New(jenkinsClient, fakeClient, logger)
// first run - build should be scheduled and status updated
jenkinsClient.
EXPECT().
BuildJob(buildName, gomock.Any()).
Return(buildNumber, nil)
done, err := jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.NoError(t, err)
assert.False(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build := jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber)
assert.Equal(t, build.Status, RunningStatus)
assert.Equal(t, build.Retires, 0)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
// second run - build should be success and status updated
jenkinsClient.
EXPECT().
GetBuild(buildName, buildNumber).
Return(&gojenkins.Build{
Raw: &gojenkins.BuildResponse{
Result: SuccessStatus,
},
}, nil)
done, err = jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.NoError(t, err)
assert.True(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build = jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber)
assert.Equal(t, build.Status, SuccessStatus)
assert.Equal(t, build.Retires, 0)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
}
func TestEnsureJobWithFailedBuild(t *testing.T) {
// given
logger := logf.ZapLogger(false)
ctrl := gomock.NewController(t)
ctx := context.TODO()
defer ctrl.Finish()
buildName := "Test Job"
buildNumber := int64(1)
jenkinsClient := client.NewMockJenkins(ctrl)
fakeClient := fake.NewFakeClient()
hash := sha256.New()
hash.Write([]byte(buildName))
encodedHash := base64.URLEncoding.EncodeToString(hash.Sum(nil))
// when
jenkins := jenkinsCustomResource()
err := fakeClient.Create(ctx, jenkins)
assert.NoError(t, err)
jobs := New(jenkinsClient, fakeClient, logger)
// first run - build should be scheduled and status updated
jenkinsClient.
EXPECT().
BuildJob(buildName, gomock.Any()).
Return(buildNumber, nil)
done, err := jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.NoError(t, err)
assert.False(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build := jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber)
assert.Equal(t, build.Status, RunningStatus)
assert.Equal(t, build.Retires, 0)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
// second run - build should be failure and status updated
jenkinsClient.
EXPECT().
GetBuild(buildName, buildNumber).
Return(&gojenkins.Build{
Raw: &gojenkins.BuildResponse{
Result: FailureStatus,
},
}, nil)
done, err = jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.NoError(t, err)
assert.False(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build = jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber)
assert.Equal(t, build.Status, FailureStatus)
assert.Equal(t, build.Retires, 0)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
// third run - build should be rescheduled and status updated
jenkinsClient.
EXPECT().
BuildJob(buildName, gomock.Any()).
Return(buildNumber+1, nil)
done, err = jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.EqualError(t, err, ErrorBuildFailed.Error())
assert.False(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build = jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber+1)
assert.Equal(t, build.Status, RunningStatus)
assert.Equal(t, build.Retires, 1)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
// fourth run - build should be success and status updated
jenkinsClient.
EXPECT().
GetBuild(buildName, buildNumber+1).
Return(&gojenkins.Build{
Raw: &gojenkins.BuildResponse{
Result: SuccessStatus,
},
}, nil)
done, err = jobs.EnsureBuildJob(buildName, encodedHash, nil, jenkins, true)
assert.NoError(t, err)
assert.True(t, done)
err = fakeClient.Get(ctx, types.NamespacedName{Name: jenkins.Name, Namespace: jenkins.Namespace}, jenkins)
assert.NoError(t, err)
assert.NotEmpty(t, jenkins.Status.Builds)
assert.Equal(t, len(jenkins.Status.Builds), 1)
build = jenkins.Status.Builds[0]
assert.Equal(t, build.Name, buildName)
assert.Equal(t, build.Hash, encodedHash)
assert.Equal(t, build.Number, buildNumber+1)
assert.Equal(t, build.Status, SuccessStatus)
assert.Equal(t, build.Retires, 1)
assert.NotNil(t, build.CreateTime)
assert.NotNil(t, build.LastUpdateTime)
}
func jenkinsCustomResource() *virtuslabv1alpha1.Jenkins {
return &virtuslabv1alpha1.Jenkins{
ObjectMeta: metav1.ObjectMeta{
Name: "jenkins",
Namespace: "default",
},
Spec: virtuslabv1alpha1.JenkinsSpec{
Master: virtuslabv1alpha1.JenkinsMaster{
Image: "jenkins/jenkins",
Annotations: map[string]string{"test": "label"},
Resources: corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse("300m"),
corev1.ResourceMemory: resource.MustParse("500Mi"),
},
Limits: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse("2"),
corev1.ResourceMemory: resource.MustParse("2Gi"),
},
},
},
SeedJobs: []virtuslabv1alpha1.SeedJob{
{
ID: "jenkins-operator-e2e",
Targets: "cicd/jobs/*.jenkins",
Description: "Jenkins Operator e2e tests repository",
RepositoryBranch: "master",
RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git",
},
},
},
}
}