Commit 0e8b4544 authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

add tests

parent 38f42e13
Loading
Loading
Loading
Loading
Loading
+31 −5
Original line number Diff line number Diff line
stages:
  - build
  - test
  - build-prod

variables:
@@ -19,17 +21,41 @@ after_script:
  - func_rse_docker_cleanup
  - sudo chown -R gitlab-runner .

service-build:
  stage: build-prod
image-build:
  stage: build
  script:
    - >
      docker build
      -f dockerfiles/Dockerfile --target prod
      -t remote-data-broker .
    - docker tag remote-data-broker $CONTAINER_RDM_URL:$CI_COMMIT_SHORT_SHA
    - docker tag remote-data-broker $CONTAINER_RDM_URL:$TAG
    - docker push $CONTAINER_RDM_URL:$CI_COMMIT_SHORT_SHA
    - docker push $CONTAINER_RDM_URL:$TAG
  tags:
    - rse-multi-builder

unit-tests:
  stage: test
  script:
    - >
      docker build
      -f dockerfiles/Dockerfile --target package
      -t remote-data-broker .
    - docker run --rm -v `pwd`:/tmp remote-data-broker bash -c "cd src && go test -v ./... | go-junit-report -set-exit-code > /tmp/report.xml"
  artifacts:
    when: always
    paths:
      - report.xml
    reports:
      junit: report.xml
  tags:
    - rse-multi-builder


image-tag:
  stage: build-prod
  script:
    - docker pull $CONTAINER_RDM_URL:$CI_COMMIT_SHORT_SHA
    - docker run --rm -v `pwd`:/tmp remote-data-broker bash -c "cp /rdb/build/*.deb /tmp"
  when: manual
  tags:
    - rse-multi-builder
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ RUN apt-get update && apt-get install -y cmake vim wget g++

RUN wget https://go.dev/dl/go1.20.5.linux-amd64.tar.gz
RUN tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
RUN go install github.com/jstemmer/go-junit-report/v2@latest

ENV PATH=$PATH:/usr/local/go/bin

+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ func ReadConfig(fname string) (log.Level, error) {
	viper.SetDefault("Http.Port", 7000)
	viper.SetDefault("Http.ChunkSize", 100000)
	viper.SetDefault("Http.Timeout", 3)
	viper.SetDefault("Rmq.Url", "amqp://guest:guest@localhost:5672")
	viper.SetDefault("Rmq.Url", "amqp://guest:guest@127.0.0.1:5672")
	viper.SetDefault("Rmq.Queue", "test")
	viper.SetDefault("RmqClient.Enabled", true)
	viper.SetDefault("LogLevel", "debug")
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ func TestDownloadFile(t *testing.T) {
	ioutil.WriteFile(filepath.Clean("folder/exists"), []byte("hello"), 0644)
	defer os.RemoveAll("folder")
	auth = &utils.MockAuth{}
	common.Settings.Auth.Enabled = true
	common.Settings.CatCommand = "cat $filename"
	common.Settings.TestCommand = "test -r $filename"
	for _, test := range downloadFileTests {
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ import (
func TestDownloadRemote(t *testing.T) {
	common.Settings.Http.ChunkSize = 10000
	common.Settings.Http.Timeout = 3
	rmqClient.Init("amqp://guest:guest@localhost:5672/", "test_queue")
	rmqClient.Init("amqp://guest:guest@127.0.0.1:5672/", "test_queue")
	defer rmqClient.Close()
	request := makeRequest(fileDownloadRequest{"folder", "test"})
	respChan := make(chan *httptest.ResponseRecorder)
Loading