1
Fork 0
photoview/api/scanner/exif/exif_test.go

62 lines
1.3 KiB
Go

// +build integration
package exif
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
const bird_path = "./test_data/bird.jpg"
func TestExifParsers(t *testing.T) {
t.Parallel()
parsers := []struct {
name string
parser exifParser
}{
{
name: "internal",
parser: &internalExifParser{},
},
{
name: "external",
parser: &externalExifParser{},
},
}
for _, p := range parsers {
t.Run(p.name, func(t *testing.T) {
t.Parallel()
exif, err := p.parser.ParseExif(bird_path)
if assert.NoError(t, err) {
assert.EqualValues(t, *exif.Camera, "Canon EOS 600D")
assert.EqualValues(t, *exif.Maker, "Canon")
assert.WithinDuration(t, *exif.DateShot, time.Unix(1336318784, 0).UTC(), time.Minute)
assert.EqualValues(t, *exif.Aperture, 6.3)
assert.EqualValues(t, *exif.Iso, 800)
assert.EqualValues(t, *exif.FocalLength, 300)
assert.EqualValues(t, *exif.Flash, 16)
assert.EqualValues(t, *exif.Orientation, 1)
assert.InDelta(t, *exif.GPSLatitude, 65.01681388888889, 0.0001)
assert.InDelta(t, *exif.GPSLongitude, 25.466863888888888, 0.0001)
}
})
}
}
// func TestExternalExifParser(t *testing.T) {
// parser := externalExifParser{}
// exif, err := parser.ParseExif((bird_path))
// if assert.NoError(t, err) {
// assert.Equal(t, exif, &bird_exif)
// }
// }