Fixes 2: Fixing regression for issue 2

Signed-off-by: Kris Nóva <kris@nivenly.com>
main
Kris Nóva 2021-02-13 13:30:08 -08:00
parent 414bfb6aa1
commit afcb80f913
13 changed files with 127 additions and 3 deletions

View File

@ -23,6 +23,10 @@ const (
// New is used to create a new Client to authenticate with // New is used to create a new Client to authenticate with
// Photoprism. // Photoprism.
func New(connectionString string) *Client { func New(connectionString string) *Client {
for strings.HasSuffix(connectionString, "/") {
connectionString = connectionString[:len(connectionString)-1]
}
c := &Client{ c := &Client{
contentType: APIContentType, contentType: APIContentType,
connectionString: connectionString, connectionString: connectionString,
@ -30,6 +34,10 @@ func New(connectionString string) *Client {
return c return c
} }
func (c *Client) ConnectionString() string {
return c.connectionString
}
// Client represents a client to a Photoprism application // Client represents a client to a Photoprism application
type Client struct { type Client struct {
v1client *v1.V1Client v1client *v1.V1Client

View File

@ -0,0 +1,9 @@
UID: aqohkx21cwlrrs71
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:27:02Z
UpdatedAt: 2021-02-13T21:27:02Z
DeletedAt: 2021-02-13T21:27:02.438478307Z

View File

@ -0,0 +1,9 @@
UID: aqohkx21dyhq6xa6
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:27:02Z
UpdatedAt: 2021-02-13T21:27:02Z
DeletedAt: 2021-02-13T21:27:02.460875532Z

View File

@ -0,0 +1,9 @@
UID: aqohkx21j9rj6w4f
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:27:02Z
UpdatedAt: 2021-02-13T21:27:02Z
DeletedAt: 2021-02-13T21:27:02.505591441Z

View File

@ -0,0 +1,10 @@
UID: aqohkx22im2tmqpd
Slug: testalbum
Type: album
Title: TestAlbum
Description: An updated album description
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:27:02Z
UpdatedAt: 2021-02-13T21:27:02.386442236Z
DeletedAt: 2021-02-13T21:27:02.395711612Z

View File

@ -0,0 +1,9 @@
UID: aqohl0w1s0skc6f0
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:29:21Z
UpdatedAt: 2021-02-13T21:29:21Z
DeletedAt: 2021-02-13T21:29:20.538356219Z

View File

@ -0,0 +1,9 @@
UID: aqohl0w2dwab02xe
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:29:20Z
UpdatedAt: 2021-02-13T21:29:20Z
DeletedAt: 2021-02-13T21:29:20.486868765Z

View File

@ -0,0 +1,10 @@
UID: aqohl0w2xt57x1cb
Slug: testalbum
Type: album
Title: TestAlbum
Description: An updated album description
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:29:20Z
UpdatedAt: 2021-02-13T21:29:20.397458176Z
DeletedAt: 2021-02-13T21:29:20.415107277Z

View File

@ -0,0 +1,9 @@
UID: aqohl0wdspiitn0a
Slug: testalbum
Type: album
Title: TestAlbum
Order: oldest
Country: zz
CreatedAt: 2021-02-13T21:29:20Z
UpdatedAt: 2021-02-13T21:29:20Z
DeletedAt: 2021-02-13T21:29:20.461857977Z

View File

@ -114,6 +114,11 @@
"tokens": null, "tokens": null,
"expiration": 1613695252131862322 "expiration": 1613695252131862322
}, },
"24227dba42c911f1f3250745252473200d95db38c9006bf6": {
"user": "uqnzie01i1nypnt9",
"tokens": null,
"expiration": 1613856560374865002
},
"2521ed30985fb1991e3d1271cbf6e2b53840d614647361af": { "2521ed30985fb1991e3d1271cbf6e2b53840d614647361af": {
"user": "uqnzie01i1nypnt9", "user": "uqnzie01i1nypnt9",
"tokens": null, "tokens": null,
@ -184,6 +189,11 @@
"tokens": null, "tokens": null,
"expiration": 1613676253240643293 "expiration": 1613676253240643293
}, },
"383cbd715f476ce738e23712a480e3fca123b68f16f2ee69": {
"user": "uqnzie01i1nypnt9",
"tokens": null,
"expiration": 1613856561720200205
},
"3bd19dc60e5a515d2624f0d712db8471f433416935c2a045": { "3bd19dc60e5a515d2624f0d712db8471f433416935c2a045": {
"user": "uqnzie01i1nypnt9", "user": "uqnzie01i1nypnt9",
"tokens": null, "tokens": null,
@ -579,6 +589,11 @@
"tokens": null, "tokens": null,
"expiration": 1613502517447074204 "expiration": 1613502517447074204
}, },
"a69b726d7a6bfab6bac0435a6673d5c390a732470c910f41": {
"user": "uqnzie01i1nypnt9",
"tokens": null,
"expiration": 1613856423690963485
},
"a83cc511e399c1dab37468d0c64302bf4b68f7e3df5a1e0b": { "a83cc511e399c1dab37468d0c64302bf4b68f7e3df5a1e0b": {
"user": "uqnzie01i1nypnt9", "user": "uqnzie01i1nypnt9",
"tokens": null, "tokens": null,
@ -649,6 +664,11 @@
"tokens": null, "tokens": null,
"expiration": 1613693719704975163 "expiration": 1613693719704975163
}, },
"b9a554547ba1cc81f7d42ea5df395a50968294eb9b574d28": {
"user": "uqnzie01i1nypnt9",
"tokens": null,
"expiration": 1613856422361372143
},
"bbdbf96d91d72d87fb819d31d7f175b733164975c1802243": { "bbdbf96d91d72d87fb819d31d7f175b733164975c1802243": {
"user": "uqnzie01i1nypnt9", "user": "uqnzie01i1nypnt9",
"tokens": null, "tokens": null,

View File

@ -3,7 +3,7 @@ UID: pqnzigq351j2fqgn
Type: image Type: image
Title: A really great photo! Title: A really great photo!
TitleSrc: manual TitleSrc: manual
Description: 'Sample App Description: 2021-02-13 13:17:39.073524303 -0800 PST m=+6.526679853' Description: 'Sample App Description: 2021-02-13 13:29:20.603412741 -0800 PST m=+6.504617892'
DescriptionSrc: manual DescriptionSrc: manual
OriginalName: IMG_3044 OriginalName: IMG_3044
Year: -1 Year: -1
@ -13,5 +13,5 @@ Details:
Keywords: green, tambourine Keywords: green, tambourine
KeywordsSrc: manual KeywordsSrc: manual
CreatedAt: 2021-02-04T03:17:14.613092062Z CreatedAt: 2021-02-04T03:17:14.613092062Z
UpdatedAt: 2021-02-13T21:17:39.081685026Z UpdatedAt: 2021-02-13T21:29:20.611389111Z
EditedAt: 2021-02-13T21:17:39Z EditedAt: 2021-02-13T21:29:21Z

View File

@ -0,0 +1,22 @@
package test
import (
"testing"
"github.com/kris-nova/photoprism-client-go"
)
// Trailing slash issue
// https://github.com/kris-nova/photoprism-client-go/issues/2
func TestRegressionIssue2(t *testing.T) {
testStrings := []string{"localhost/", "localhost///////", "localhost//"}
goal := "localhost"
for _, str := range testStrings {
client := photoprism.New(str)
if client.ConnectionString() != goal {
t.Error("Failed to trim suffix / in client connection string")
t.FailNow()
}
}
}