forked from JonasFranzDEV/gitea-github-migrator
Compare commits
12 Commits
latest-rel
...
master
Author | SHA1 | Date |
---|---|---|
jnweiger | d22c74c735 | 6 years ago |
Jonas Franz | afd81459b9 | 6 years ago |
Jonas Franz | f92784c0b6 | 6 years ago |
Jonas Franz | 82ea2d47b7 | 6 years ago |
Jonas Franz | 9a306fb468 | 6 years ago |
Jonas Franz | 4e61d1ca09 | 6 years ago |
Jonas Franz | 509abf5a7f | 6 years ago |
Jonas Franz | b221b6d9df | 6 years ago |
Jonas Franz | cecaa2f250 | 6 years ago |
techknowlogick | d6c089a561 | 6 years ago |
techknowlogick | f05c383db2 | 6 years ago |
Jonas Franz | 92b6438b55 | 6 years ago |
@ -0,0 +1,9 @@ |
||||
## ENHANCEMENTS |
||||
* Fetch user if no --owner is given |
||||
|
||||
## BUILD |
||||
|
||||
* Add docker release |
||||
* Add tests |
||||
* Add makefile |
||||
* Add S3 distrubution |
@ -0,0 +1,18 @@ |
||||
#Build stage |
||||
FROM golang:1.10-alpine3.7 AS build-env |
||||
|
||||
#Build deps |
||||
RUN apk --no-cache add build-base git |
||||
|
||||
#Setup repo |
||||
COPY . ${GOPATH}/src/git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator |
||||
WORKDIR ${GOPATH}/src/git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator |
||||
|
||||
RUN make docker-binary |
||||
|
||||
FROM alpine:3.7 |
||||
LABEL maintainer="info@jonasfranz.software" |
||||
|
||||
COPY --from=build-env /go/src/git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator/gitea-github-migrator /usr/local/bin/gitea-github-migrator |
||||
|
||||
ENTRYPOINT ["/usr/local/bin/gitea-github-migrator"] |
@ -0,0 +1,23 @@ |
||||
package cmd |
||||
|
||||
import ( |
||||
"context" |
||||
"testing" |
||||
|
||||
"git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator/migrations" |
||||
"github.com/google/go-github/github" |
||||
"github.com/stretchr/testify/assert" |
||||
) |
||||
|
||||
// Test_migrate is an integration tests for migrate command
|
||||
// using repo JonasFranzDEV/test
|
||||
func Test_migrate(t *testing.T) { |
||||
assert.NoError(t, migrate( |
||||
context.Background(), |
||||
github.NewClient(nil), |
||||
migrations.DemoMigratory, |
||||
"JonasFranzDEV", |
||||
"test", |
||||
false, |
||||
)) |
||||
} |
@ -0,0 +1,49 @@ |
||||
package migrations |
||||
|
||||
import ( |
||||
"testing" |
||||
|
||||
"code.gitea.io/sdk/gitea" |
||||
"github.com/google/go-github/github" |
||||
"github.com/stretchr/testify/assert" |
||||
) |
||||
|
||||
func Test_githubStateToGiteaState(t *testing.T) { |
||||
open := "open" |
||||
all := "all" |
||||
closed := "closed" |
||||
tests := map[*string]string{&all: "open", &open: "open", &closed: "closed"} |
||||
for input, exceptedResult := range tests { |
||||
actualResult := githubStateToGiteaState(input) |
||||
assert.NotNil(t, actualResult) |
||||
assert.NotEmpty(t, *actualResult) |
||||
assert.Equal(t, exceptedResult, *actualResult) |
||||
} |
||||
nilInput := "teoafweogwoe" |
||||
assert.Nil(t, githubStateToGiteaState(&nilInput)) |
||||
} |
||||
|
||||
func TestMigratory_Label(t *testing.T) { |
||||
res, err := DemoMigratory.Label(&github.Label{ |
||||
Name: github.String("testlabel"), |
||||
Color: github.String("123456"), |
||||
}) |
||||
assert.NoError(t, err) |
||||
assert.Equal(t, "123456", res.Color) |
||||
assert.Equal(t, "testlabel", res.Name) |
||||
} |
||||
|
||||
func TestMigratory_Milestone(t *testing.T) { |
||||
res, err := DemoMigratory.Milestone(&github.Milestone{ |
||||
ID: github.Int64(1), |
||||
State: github.String("open"), |
||||
Description: github.String("test milestone"), |
||||
Title: github.String("TEST"), |
||||
DueOn: &demoTime, |
||||
}) |
||||
assert.NoError(t, err) |
||||
assert.Equal(t, "TEST", res.Title) |
||||
assert.Equal(t, "test milestone", res.Description) |
||||
assert.Equal(t, demoTime.Unix(), res.Deadline.Unix()) |
||||
assert.Equal(t, gitea.StateOpen, res.State) |
||||
} |
@ -0,0 +1,24 @@ |
||||
package migrations |
||||
|
||||
import ( |
||||
"time" |
||||
|
||||
"code.gitea.io/sdk/gitea" |
||||
) |
||||
|
||||
var DemoMigratory = &Migratory{ |
||||
AuthUsername: "demo", |
||||
AuthPassword: "demo", |
||||
Client: gitea.NewClient("http://gitea:3000", "8bffa364d5a4b2f18421426da0baf6ccddd16d6b"), |
||||
repository: &gitea.Repository{ |
||||
Name: "demo", |
||||
Owner: &gitea.User{ |
||||
UserName: "demo", |
||||
}, |
||||
}, |
||||
NewOwnerID: 1, |
||||
migratedMilestones: make(map[int64]int64), |
||||
migratedLabels: make(map[int64]int64), |
||||
} |
||||
|
||||
var demoTime = time.Date(2018, 01, 01, 01, 01, 01, 01, time.UTC) |
Loading…
Reference in new issue