Skip to content

Commit 496953d

Browse files
Change the default to ffdx and update migration for old https prefix
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
1 parent 299fa32 commit 496953d

File tree

5 files changed

+36
-25
lines changed

5 files changed

+36
-25
lines changed

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ require (
2727
github.com/mattn/go-sqlite3 v1.14.10
2828
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
2929
github.com/microcosm-cc/bluemonday v1.0.16
30-
github.com/miracl/conflate v1.2.1 // indirect
3130
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
3231
github.com/onsi/ginkgo v1.16.1 // indirect
3332
github.com/onsi/gomega v1.11.0 // indirect

go.sum

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -810,8 +810,6 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N
810810
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
811811
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
812812
github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
813-
github.com/miracl/conflate v1.2.1 h1:QlB+Hjh8vnPIjimCK2VKEvtLVxVGIVxNQ4K95JRpi90=
814-
github.com/miracl/conflate v1.2.1/go.mod h1:F85f+vrE7SwfRoL31EpLZFa1sub0SDxzcwxDBxFvy7k=
815813
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
816814
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
817815
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -1085,13 +1083,8 @@ github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT
10851083
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
10861084
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
10871085
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
1088-
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo=
1089-
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
1090-
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
10911086
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
10921087
github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
1093-
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
1094-
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
10951088
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
10961089
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
10971090
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
@@ -1240,7 +1233,6 @@ golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLL
12401233
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12411234
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12421235
golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
1243-
golang.org/x/net v0.0.0-20191125084936-ffdde1057850/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12441236
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12451237
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12461238
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=

internal/dataexchange/dxfactory/factory.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,18 @@ import (
2525
"github.com/hyperledger/firefly/pkg/dataexchange"
2626
)
2727

28+
var (
29+
OldFFDXPluginName = "https"
30+
NewFFDXPluginName = (*ffdx.FFDX)(nil).Name()
31+
)
32+
2833
var pluginsByName = map[string]func() dataexchange.Plugin{
29-
(*ffdx.FFDX)(nil).Name(): func() dataexchange.Plugin { return &ffdx.FFDX{} },
34+
NewFFDXPluginName: func() dataexchange.Plugin { return &ffdx.FFDX{} },
3035
}
3136

3237
func InitPrefix(prefix config.Prefix) {
3338
for name, plugin := range pluginsByName {
3439
plugin().InitPrefix(prefix.SubPrefix(name))
35-
36-
// Migration path for old plugin name
37-
// TODO: remove this
38-
if name == "ffdx" {
39-
plugin().InitPrefix(prefix.SubPrefix("https"))
40-
}
4140
}
4241
}
4342

internal/orchestrator/orchestrator.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
"github.com/hyperledger/firefly/internal/networkmap"
4141
"github.com/hyperledger/firefly/internal/operations"
4242
"github.com/hyperledger/firefly/internal/privatemessaging"
43+
"github.com/hyperledger/firefly/internal/restclient"
4344
"github.com/hyperledger/firefly/internal/shareddownload"
4445
"github.com/hyperledger/firefly/internal/sharedstorage/ssfactory"
4546
"github.com/hyperledger/firefly/internal/syncasync"
@@ -337,12 +338,6 @@ func (or *orchestrator) initDataExchange(ctx context.Context) (err error) {
337338
dxPlugin := config.GetString(config.DataexchangeType)
338339
if or.dataexchange == nil {
339340
pluginName := dxPlugin
340-
if pluginName == "https" {
341-
// Migration path for old plugin name
342-
// TODO: eventually make this fatal
343-
log.L(ctx).Warnf("Your data exchange config uses the old plugin name 'https' - this plugin has been renamed to 'ffdx'")
344-
pluginName = "ffdx"
345-
}
346341
if or.dataexchange, err = dxfactory.GetPlugin(ctx, pluginName); err != nil {
347342
return err
348343
}
@@ -361,7 +356,22 @@ func (or *orchestrator) initDataExchange(ctx context.Context) (err error) {
361356
nodeInfo[i] = node.Profile
362357
}
363358

364-
return or.dataexchange.Init(ctx, dataexchangeConfig.SubPrefix(dxPlugin), nodeInfo, &or.bc)
359+
configPrefix := dataexchangeConfig.SubPrefix(dxPlugin)
360+
// Migration for explicitly setting the old name ..
361+
if dxPlugin == dxfactory.OldFFDXPluginName ||
362+
// .. or defaulting to the new name, but without setting the mandatory URL
363+
(dxPlugin == dxfactory.NewFFDXPluginName && configPrefix.GetString(restclient.HTTPConfigURL) == "") {
364+
// We need to initialize the migration prefix, and use that if it's set
365+
migrationPrefix := dataexchangeConfig.SubPrefix(dxfactory.OldFFDXPluginName)
366+
or.dataexchange.InitPrefix(migrationPrefix)
367+
if migrationPrefix.GetString(restclient.HTTPConfigURL) != "" {
368+
// TODO: eventually make this fatal
369+
log.L(ctx).Warnf("The %s config key has been deprecated. Please use %s instead", config.OrgIdentityDeprecated, config.OrgKey)
370+
configPrefix = migrationPrefix
371+
}
372+
}
373+
374+
return or.dataexchange.Init(ctx, configPrefix, nodeInfo, &or.bc)
365375
}
366376

367377
func (or *orchestrator) initPlugins(ctx context.Context) (err error) {

internal/orchestrator/orchestrator_test.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747
"github.com/hyperledger/firefly/mocks/txcommonmocks"
4848
"github.com/hyperledger/firefly/pkg/fftypes"
4949
"github.com/hyperledger/firefly/pkg/tokens"
50+
"github.com/spf13/viper"
5051
"github.com/stretchr/testify/assert"
5152
"github.com/stretchr/testify/mock"
5253
)
@@ -301,6 +302,8 @@ func TestBadDataExchangePlugin(t *testing.T) {
301302

302303
func TestBadDataExchangeInitFail(t *testing.T) {
303304
or := newTestOrchestrator()
305+
dxfactory.InitPrefix(dataexchangeConfig)
306+
viper.Set("dataexchange.ffdx.url", "https://test")
304307
or.mdi.On("GetConfigRecords", mock.Anything, mock.Anything, mock.Anything).Return([]*fftypes.ConfigRecord{}, nil, nil)
305308
or.mdi.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
306309
or.mbi.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
@@ -316,14 +319,14 @@ func TestBadDataExchangeInitFail(t *testing.T) {
316319
func TestDataExchangePluginOldName(t *testing.T) {
317320
or := newTestOrchestrator()
318321
dxfactory.InitPrefix(dataexchangeConfig)
319-
config.Set(config.DataexchangeType, "https")
320-
dataexchangeConfig.SubPrefix("https").Set(restclient.HTTPConfigURL, "http://test")
322+
viper.Set("dataexchange.https.url", "https://test")
321323
or.dataexchange = nil
322324
or.mdi.On("GetConfigRecords", mock.Anything, mock.Anything, mock.Anything).Return([]*fftypes.ConfigRecord{}, nil, nil)
323325
or.mdi.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
324326
or.mbi.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
325327
or.mii.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
326328
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
329+
or.mdx.On("InitPrefix", mock.Anything).Return()
327330
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
328331
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("pop"))
329332
ctx, cancelCtx := context.WithCancel(context.Background())
@@ -344,6 +347,7 @@ func TestBadTokensPlugin(t *testing.T) {
344347
or.mii.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
345348
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
346349
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
350+
or.mdx.On("InitPrefix", mock.Anything).Return()
347351
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
348352
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
349353
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -366,6 +370,7 @@ func TestBadTokensPluginNoConnector(t *testing.T) {
366370
or.mbi.On("VerifyIdentitySyntax", mock.Anything, mock.Anything, mock.Anything).Return("", nil)
367371
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
368372
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
373+
or.mdx.On("InitPrefix", mock.Anything).Return()
369374
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
370375
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
371376
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -387,6 +392,7 @@ func TestBadTokensPluginNoName(t *testing.T) {
387392
or.mii.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
388393
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
389394
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
395+
or.mdx.On("InitPrefix", mock.Anything).Return()
390396
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
391397
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
392398
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -408,6 +414,7 @@ func TestBadTokensPluginInvalidName(t *testing.T) {
408414
or.mii.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
409415
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
410416
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
417+
or.mdx.On("InitPrefix", mock.Anything).Return()
411418
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
412419
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
413420
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -430,6 +437,7 @@ func TestBadTokensPluginNoType(t *testing.T) {
430437
or.mbi.On("VerifyIdentitySyntax", mock.Anything, mock.Anything, mock.Anything).Return("", nil)
431438
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
432439
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
440+
or.mdx.On("InitPrefix", mock.Anything).Return()
433441
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
434442
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
435443
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -453,6 +461,7 @@ func TestGoodTokensPlugin(t *testing.T) {
453461
or.mii.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
454462
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
455463
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
464+
or.mdx.On("InitPrefix", mock.Anything).Return()
456465
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
457466
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
458467
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -684,6 +693,7 @@ func TestInitOK(t *testing.T) {
684693
or.mbi.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
685694
or.mps.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(nil)
686695
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{}, nil, nil)
696+
or.mdx.On("InitPrefix", mock.Anything).Return()
687697
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
688698
or.mdi.On("GetNamespace", mock.Anything, mock.Anything).Return(nil, nil)
689699
or.mdi.On("UpsertNamespace", mock.Anything, mock.Anything, true).Return(nil)
@@ -721,6 +731,7 @@ func TestInitDataExchangeWithNodes(t *testing.T) {
721731
or := newTestOrchestrator()
722732

723733
or.mdi.On("GetIdentities", mock.Anything, mock.Anything).Return([]*fftypes.Identity{{}}, nil, nil)
734+
or.mdx.On("InitPrefix", mock.Anything).Return()
724735
or.mdx.On("Init", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil)
725736

726737
err := or.initDataExchange(or.ctx)

0 commit comments

Comments
 (0)