This repository has been archived on 2022-11-27. You can view files and clone it, but cannot push or open issues or pull requests.
activitypub/actors_test.go
2019-08-01 13:40:43 +02:00

198 lines
4.8 KiB
Go

package activitypub
import (
as "github.com/go-ap/activitystreams"
"testing"
)
func TestActorNew(t *testing.T) {
var testValue = as.ObjectID("test")
var testType = as.ApplicationType
o := actorNew(testValue, testType)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != testType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, testType)
}
n := actorNew(testValue, "")
if n.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", n.ID, testValue)
}
if n.Type != as.ActorType {
t.Errorf("APObject Type '%v' different than expected '%v'", n.Type, as.ActorType)
}
}
func TestPersonNew(t *testing.T) {
var testValue = as.ObjectID("test")
o := PersonNew(testValue)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != as.PersonType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, as.PersonType)
}
}
func TestApplicationNew(t *testing.T) {
var testValue = as.ObjectID("test")
o := ApplicationNew(testValue)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != as.ApplicationType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, as.ApplicationType)
}
}
func TestGroupNew(t *testing.T) {
var testValue = as.ObjectID("test")
o := GroupNew(testValue)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != as.GroupType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, as.GroupType)
}
}
func TestOrganizationNew(t *testing.T) {
var testValue = as.ObjectID("test")
o := OrganizationNew(testValue)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != as.OrganizationType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, as.OrganizationType)
}
}
func TestServiceNew(t *testing.T) {
var testValue = as.ObjectID("test")
o := ServiceNew(testValue)
if o.ID != testValue {
t.Errorf("APObject Id '%v' different than expected '%v'", o.ID, testValue)
}
if o.Type != as.ServiceType {
t.Errorf("APObject Type '%v' different than expected '%v'", o.Type, as.ServiceType)
}
}
func TestActor_UnmarshalJSON(t *testing.T) {
t.Skipf("TODO")
}
func validateEmptyPerson(p Person, t *testing.T) {
if p.ID != "" {
t.Errorf("Unmarshalled object %T should have empty ID, received %q", p, p.ID)
}
if p.Type != "" {
t.Errorf("Unmarshalled object %T should have empty Type, received %q", p, p.Type)
}
if p.AttributedTo != nil {
t.Errorf("Unmarshalled object %T should have empty AttributedTo, received %q", p, p.AttributedTo)
}
if len(p.Name) != 0 {
t.Errorf("Unmarshalled object %T should have empty Name, received %q", p, p.Name)
}
if len(p.Summary) != 0 {
t.Errorf("Unmarshalled object %T should have empty Summary, received %q", p, p.Summary)
}
if len(p.Content) != 0 {
t.Errorf("Unmarshalled object %T should have empty Content, received %q", p, p.Content)
}
if p.URL != nil {
t.Errorf("Unmarshalled object %T should have empty URL, received %v", p, p.URL)
}
if !p.Published.IsZero() {
t.Errorf("Unmarshalled object %T should have empty Published, received %q", p, p.Published)
}
if !p.StartTime.IsZero() {
t.Errorf("Unmarshalled object %T should have empty StartTime, received %q", p, p.StartTime)
}
if !p.Updated.IsZero() {
t.Errorf("Unmarshalled object %T should have empty Updated, received %q", p, p.Updated)
}
}
func TestPerson_UnmarshalJSON(t *testing.T) {
p := Person{}
dataEmpty := []byte("{}")
p.UnmarshalJSON(dataEmpty)
validateEmptyPerson(p, t)
}
func TestApplication_UnmarshalJSON(t *testing.T) {
a := Application{}
dataEmpty := []byte("{}")
a.UnmarshalJSON(dataEmpty)
validateEmptyPerson(Person(a), t)
}
func TestGroup_UnmarshalJSON(t *testing.T) {
g := Group{}
dataEmpty := []byte("{}")
g.UnmarshalJSON(dataEmpty)
validateEmptyPerson(Person(g), t)
}
func TestOrganization_UnmarshalJSON(t *testing.T) {
o := Organization{}
dataEmpty := []byte("{}")
o.UnmarshalJSON(dataEmpty)
validateEmptyPerson(Person(o), t)
}
func TestService_UnmarshalJSON(t *testing.T) {
s := Service{}
dataEmpty := []byte("{}")
s.UnmarshalJSON(dataEmpty)
validateEmptyPerson(Person(s), t)
}
func TestService_GetActor(t *testing.T) {
t.Skipf("TODO")
}
func TestService_GetID(t *testing.T) {
t.Skipf("TODO")
}
func TestService_GetLink(t *testing.T) {
t.Skipf("TODO")
}
func TestService_GetType(t *testing.T) {
t.Skipf("TODO")
}
func TestService_IsLink(t *testing.T) {
t.Skipf("TODO")
}
func TestService_IsObject(t *testing.T) {
t.Skipf("TODO")
}
func TestToPerson(t *testing.T) {
t.Skipf("TODO")
}
func TestEndpoints_UnmarshalJSON(t *testing.T) {
t.Skipf("TODO")
}