mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-09-18 03:22:22 +02:00
nip29: update to latest NIP version (change some kinds and remove permissions and moderation stuff).
This commit is contained in:
@@ -3,7 +3,7 @@ package nip29
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -19,41 +19,42 @@ func TestGroupEventBackAndForth(t *testing.T) {
|
||||
group1.Private = true
|
||||
meta1 := group1.ToMetadataEvent()
|
||||
|
||||
assert.Equal(t, "xyz", meta1.Tags.GetD(), "translation of group1 to metadata event failed: %s", meta1)
|
||||
assert.NotNil(t, meta1.Tags.GetFirst([]string{"name", "banana"}), "translation of group1 to metadata event failed: %s", meta1)
|
||||
assert.NotNil(t, meta1.Tags.GetFirst([]string{"private"}), "translation of group1 to metadata event failed: %s", meta1)
|
||||
require.Equal(t, "xyz", meta1.Tags.GetD(), "translation of group1 to metadata event failed: %s", meta1)
|
||||
require.NotNil(t, meta1.Tags.GetFirst([]string{"name", "banana"}), "translation of group1 to metadata event failed: %s", meta1)
|
||||
require.NotNil(t, meta1.Tags.GetFirst([]string{"private"}), "translation of group1 to metadata event failed: %s", meta1)
|
||||
|
||||
group2, _ := NewGroup("groups.com'abc")
|
||||
group2.Members[ALICE] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermAddUser: {}}}
|
||||
group2.Members[BOB] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermEditMetadata: {}}}
|
||||
group2.Members[CAROL] = EmptyRole
|
||||
group2.Members[DEREK] = EmptyRole
|
||||
group2.Members[ALICE] = []*Role{{Name: "nada"}}
|
||||
group2.Members[BOB] = []*Role{{Name: "nada"}}
|
||||
group2.Members[CAROL] = nil
|
||||
group2.Members[DEREK] = nil
|
||||
admins2 := group2.ToAdminsEvent()
|
||||
|
||||
assert.Equal(t, "abc", admins2.Tags.GetD(), "translation of group2 to admins event failed")
|
||||
assert.Equal(t, 3, len(admins2.Tags), "translation of group2 to admins event failed")
|
||||
assert.NotNil(t, admins2.Tags.GetFirst([]string{"p", ALICE, "nada", "add-user"}), "translation of group2 to admins event failed")
|
||||
assert.NotNil(t, admins2.Tags.GetFirst([]string{"p", BOB, "nada", "edit-metadata"}), "translation of group2 to admins event failed")
|
||||
require.Equal(t, "abc", admins2.Tags.GetD(), "translation of group2 to admins event failed")
|
||||
require.Equal(t, 3, len(admins2.Tags), "translation of group2 to admins event failed")
|
||||
require.NotNil(t, admins2.Tags.GetFirst([]string{"p", ALICE, "nada"}), "translation of group2 to admins event failed")
|
||||
require.NotNil(t, admins2.Tags.GetFirst([]string{"p", BOB, "nada"}), "translation of group2 to admins event failed")
|
||||
|
||||
members2 := group2.ToMembersEvent()
|
||||
assert.Equal(t, "abc", members2.Tags.GetD(), "translation of group2 to members2 event failed")
|
||||
assert.Equal(t, 5, len(members2.Tags), "translation of group2 to members2 event failed")
|
||||
assert.NotNil(t, members2.Tags.GetFirst([]string{"p", ALICE}), "translation of group2 to members2 event failed")
|
||||
assert.NotNil(t, members2.Tags.GetFirst([]string{"p", BOB}), "translation of group2 to members2 event failed")
|
||||
assert.NotNil(t, members2.Tags.GetFirst([]string{"p", CAROL}), "translation of group2 to members2 event failed")
|
||||
assert.NotNil(t, members2.Tags.GetFirst([]string{"p", DEREK}), "translation of group2 to members2 event failed")
|
||||
require.Equal(t, "abc", members2.Tags.GetD(), "translation of group2 to members2 event failed")
|
||||
require.Equal(t, 5, len(members2.Tags), "translation of group2 to members2 event failed")
|
||||
require.NotNil(t, members2.Tags.GetFirst([]string{"p", ALICE}), "translation of group2 to members2 event failed")
|
||||
require.NotNil(t, members2.Tags.GetFirst([]string{"p", BOB}), "translation of group2 to members2 event failed")
|
||||
require.NotNil(t, members2.Tags.GetFirst([]string{"p", CAROL}), "translation of group2 to members2 event failed")
|
||||
require.NotNil(t, members2.Tags.GetFirst([]string{"p", DEREK}), "translation of group2 to members2 event failed")
|
||||
|
||||
group1.MergeInMembersEvent(members2)
|
||||
assert.Equal(t, 4, len(group1.Members), "merge of members2 into group1 failed")
|
||||
assert.Equal(t, EmptyRole, group1.Members[ALICE], "merge of members2 into group1 failed")
|
||||
assert.Equal(t, EmptyRole, group1.Members[DEREK], "merge of members2 into group1 failed")
|
||||
require.Equal(t, 4, len(group1.Members), "merge of members2 into group1 failed")
|
||||
require.Len(t, group1.Members[ALICE], 0, "merge of members2 into group1 failed")
|
||||
require.Len(t, group1.Members[DEREK], 0, "merge of members2 into group1 failed")
|
||||
|
||||
group1.MergeInAdminsEvent(admins2)
|
||||
assert.Equal(t, 4, len(group1.Members), "merge of admins2 into group1 failed")
|
||||
assert.Equal(t, "nada", group1.Members[ALICE].Name, "merge of admins2 into group1 failed")
|
||||
assert.Equal(t, EmptyRole, group1.Members[DEREK], "merge of admins2 into group1 failed")
|
||||
require.Equal(t, 4, len(group1.Members), "merge of admins2 into group1 failed")
|
||||
|
||||
require.Equal(t, "nada", group1.Members[ALICE][0].Name, "merge of admins2 into group1 failed")
|
||||
require.Len(t, group1.Members[DEREK], 0, "merge of admins2 into group1 failed")
|
||||
|
||||
group2.MergeInMetadataEvent(meta1)
|
||||
assert.Equal(t, "banana", group2.Name, "merge of meta1 into group2 failed")
|
||||
assert.Equal(t, "abc", group2.Address.ID, "merge of meta1 into group2 failed")
|
||||
require.Equal(t, "banana", group2.Name, "merge of meta1 into group2 failed")
|
||||
require.Equal(t, "abc", group2.Address.ID, "merge of meta1 into group2 failed")
|
||||
}
|
||||
|
Reference in New Issue
Block a user