mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-27 08:10:35 -05:00
91 lines
2.1 KiB
Go
91 lines
2.1 KiB
Go
package content_test
|
|
|
|
import (
|
|
"context"
|
|
|
|
storageProvider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
|
|
cs3Types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
"github.com/opencloud-eu/opencloud/pkg/log"
|
|
"github.com/opencloud-eu/opencloud/services/search/pkg/content"
|
|
)
|
|
|
|
var _ = Describe("Basic", func() {
|
|
var (
|
|
basic content.Extractor
|
|
logger = log.NewLogger()
|
|
ctx = context.TODO()
|
|
)
|
|
|
|
BeforeEach(func() {
|
|
basic, _ = content.NewBasicExtractor(logger)
|
|
})
|
|
|
|
Describe("extract", func() {
|
|
It("basic fields", func() {
|
|
ri := &storageProvider.ResourceInfo{
|
|
Name: "bar.pdf",
|
|
Path: "./foo/bar.pdf",
|
|
Size: 1024,
|
|
MimeType: "application/pdf",
|
|
}
|
|
|
|
doc, err := basic.Extract(ctx, ri)
|
|
|
|
Expect(err).To(BeNil())
|
|
Expect(doc).ToNot(BeNil())
|
|
Expect(doc.Name).To(Equal(ri.Name))
|
|
Expect(doc.Size).To(Equal(ri.Size))
|
|
Expect(doc.MimeType).To(Equal(ri.MimeType))
|
|
})
|
|
|
|
It("adds tags", func() {
|
|
for _, data := range []struct {
|
|
tags string
|
|
expect []string
|
|
}{
|
|
{tags: "", expect: []string{}},
|
|
{tags: ",,,", expect: []string{}},
|
|
{tags: ",foo,,", expect: []string{"foo"}},
|
|
{tags: ",foo,,bar,", expect: []string{"foo", "bar"}},
|
|
} {
|
|
ri := &storageProvider.ResourceInfo{
|
|
ArbitraryMetadata: &storageProvider.ArbitraryMetadata{
|
|
Metadata: map[string]string{
|
|
"tags": data.tags,
|
|
},
|
|
},
|
|
}
|
|
|
|
doc, err := basic.Extract(ctx, ri)
|
|
Expect(err).To(BeNil())
|
|
Expect(doc).ToNot(BeNil())
|
|
Expect(doc.Tags).To(Equal(data.expect))
|
|
}
|
|
})
|
|
|
|
It("RFC3339 mtime", func() {
|
|
for _, data := range []struct {
|
|
second uint64
|
|
expect string
|
|
}{
|
|
{second: 4000, expect: "1970-01-01T01:06:40Z"},
|
|
{second: 3000, expect: "1970-01-01T00:50:00Z"},
|
|
{expect: ""},
|
|
} {
|
|
ri := &storageProvider.ResourceInfo{}
|
|
|
|
if data.second != 0 {
|
|
ri.Mtime = &cs3Types.Timestamp{Seconds: data.second}
|
|
}
|
|
|
|
doc, err := basic.Extract(ctx, ri)
|
|
Expect(err).To(BeNil())
|
|
Expect(doc).ToNot(BeNil())
|
|
Expect(doc.Mtime).To(Equal(data.expect))
|
|
}
|
|
})
|
|
})
|
|
})
|