408
409
// TestGetNamespace test
411
>
id := uuid.NewString()
412
>
name := "get-namespace-test-name"
413
>
state := enumspb.NAMESPACE_STATE_REGISTERED
414
>
description := "get-namespace-test-description"
415
>
owner := "get-namespace-test-owner"
416
>
data := map[string]string{"k1": "v1"}
417
>
retention := int32(10)
418
>
historyArchivalState := enumspb.ARCHIVAL_STATE_ENABLED
419
>
historyArchivalURI := "test://history/uri"
420
>
visibilityArchivalState := enumspb.ARCHIVAL_STATE_ENABLED
421
>
visibilityArchivalURI := "test://visibility/uri"
422
>
423
>
clusterActive := "some random active cluster name"
424
>
clusterStandby := "some random standby cluster name"
425
>
configVersion := int64(11)
426
>
failoverVersion := int64(59)
427
>
isGlobalNamespace := true
428
>
clusters := []string{clusterActive, clusterStandby}
429
>
430
>
resp0, err0 := m.GetNamespace("", "does-not-exist")
431
>
m.Nil(resp0)
432
>
m.Error(err0)
433
>
m.IsType(&serviceerror.NamespaceNotFound{}, err0)
434
>
testBinaries := &namespacepb.BadBinaries{
435
>
Binaries: map[string]*namespacepb.BadBinaryInfo{
436
>
"abc": {
437
>
Reason: "test-reason",
438
>
Operator: "test-operator",
439
>
CreateTime: timestamppb.New(time.Date(2020, 8, 22, 0, 0, 0, 0, time.UTC)),
440
>
},
441
>
},
442
>
}
443
>
444
>
resp1, err1 := m.CreateNamespace(
445
>
&persistencespb.NamespaceInfo{
446
>
Id: id,
447
>
Name: name,
448
>
State: state,
449
>
Description: description,
450
>
Owner: owner,
451
>
Data: data,
452
>
},
453
>
&persistencespb.NamespaceConfig{
454
>
Retention: timestamp.DurationFromDays(retention),
455
>
HistoryArchivalState: historyArchivalState,
456
>
HistoryArchivalUri: historyArchivalURI,
457
>
VisibilityArchivalState: visibilityArchivalState,
458
>
VisibilityArchivalUri: visibilityArchivalURI,
459
>
BadBinaries: testBinaries,
460
>
},
461
>
&persistencespb.NamespaceReplicationConfig{
462
>
ActiveClusterName: clusterActive,
463
>
Clusters: clusters,
464
>
},
465
>
isGlobalNamespace,
466
>
configVersion,
467
>
failoverVersion,
468
>
)
469
>
m.NoError(err1)
470
>
m.NotNil(resp1)
471
>
m.EqualValues(id, resp1.ID)
472
>
473
>
resp2, err2 := m.GetNamespace(id, "")
474
>
m.NoError(err2)
475
>
m.NotNil(resp2)
476
>
m.EqualValues(id, resp2.Namespace.Info.Id)
477
>
m.Equal(name, resp2.Namespace.Info.Name)
478
>
m.Equal(state, resp2.Namespace.Info.State)
479
>
m.Equal(description, resp2.Namespace.Info.Description)
480
>
m.Equal(owner, resp2.Namespace.Info.Owner)
481
>
m.Equal(data, resp2.Namespace.Info.Data)
482
>
m.EqualValues(time.Duration(retention)*time.Hour*24, resp2.Namespace.Config.Retention.AsDuration())
483
>
m.Equal(historyArchivalState, resp2.Namespace.Config.HistoryArchivalState)
484
>
m.Equal(historyArchivalURI, resp2.Namespace.Config.HistoryArchivalUri)
485
>
m.Equal(visibilityArchivalState, resp2.Namespace.Config.VisibilityArchivalState)
486
>
m.Equal(visibilityArchivalURI, resp2.Namespace.Config.VisibilityArchivalUri)
487
>
m.ProtoEqual(testBinaries, resp2.Namespace.Config.BadBinaries)
488
>
m.Equal(clusterActive, resp2.Namespace.ReplicationConfig.ActiveClusterName)
489
>
m.Equal(len(clusters), len(resp2.Namespace.ReplicationConfig.Clusters))
490
>
for index := range clusters {
491
>
m.Equal(clusters[index], resp2.Namespace.ReplicationConfig.Clusters[index])
492
>
}
493
>
m.Equal(isGlobalNamespace, resp2.IsGlobalNamespace)
494
>
m.Equal(configVersion, resp2.Namespace.ConfigVersion)
495
>
m.Equal(failoverVersion, resp2.Namespace.FailoverVersion)
496
>
m.Equal(p.InitialFailoverNotificationVersion, resp2.Namespace.FailoverNotificationVersion)
497
>
498
>
resp3, err3 := m.GetNamespace("", name)
499
>
m.NoError(err3)
500
>
m.NotNil(resp3)
501
>
m.EqualValues(id, resp3.Namespace.Info.Id)
502
>
m.Equal(name, resp3.Namespace.Info.Name)
503
>
m.Equal(state, resp3.Namespace.Info.State)
504
>
m.Equal(description, resp3.Namespace.Info.Description)
505
>
m.Equal(owner, resp3.Namespace.Info.Owner)
506
>
m.Equal(data, resp3.Namespace.Info.Data)
507
>
m.EqualValues(time.Duration(retention)*time.Hour*24, resp3.Namespace.Config.Retention.AsDuration())
508
>
m.Equal(historyArchivalState, resp3.Namespace.Config.HistoryArchivalState)
509
>
m.Equal(historyArchivalURI, resp3.Namespace.Config.HistoryArchivalUri)
510
>
m.Equal(visibilityArchivalState, resp3.Namespace.Config.VisibilityArchivalState)
511
>
m.Equal(visibilityArchivalURI, resp3.Namespace.Config.VisibilityArchivalUri)
512
>
m.Equal(clusterActive, resp3.Namespace.ReplicationConfig.ActiveClusterName)
513
>
m.Equal(len(clusters), len(resp3.Namespace.ReplicationConfig.Clusters))
514
>
for index := range clusters {
515
>
m.Equal(clusters[index], resp3.Namespace.ReplicationConfig.Clusters[index])
516
>
}
517
>
m.Equal(isGlobalNamespace, resp3.IsGlobalNamespace)
518
>
m.Equal(configVersion, resp3.Namespace.ConfigVersion)
519
>
m.Equal(failoverVersion, resp3.Namespace.FailoverVersion)
520
>
m.Equal(p.InitialFailoverNotificationVersion, resp3.Namespace.FailoverNotificationVersion)
521
>
522
>
resp4, err4 := m.GetNamespace(id, name)
523
>
m.Error(err4)
524
>
m.IsType(&serviceerror.InvalidArgument{}, err4)
525
>
m.Nil(resp4)
526
>
527
>
resp5, err5 := m.GetNamespace("", "")
528
>
m.Nil(resp5)
529
>
m.IsType(&serviceerror.InvalidArgument{}, err5)
530
}
531