feat: add transcodedSuffix to Subsonic API responses

This commit is contained in:
Deluan
2020-03-16 12:56:15 -04:00
committed by Deluan Quintão
parent 45180115a6
commit 39993810b3
12 changed files with 136 additions and 61 deletions
+25 -2
View File
@@ -173,6 +173,7 @@ var _ = Describe("Middlewares", func() {
Expect(next.called).To(BeTrue())
player := next.req.Context().Value("player").(model.Player)
Expect(player.ID).To(Equal("123"))
Expect(next.req.Context().Value("transcoding")).To(BeNil())
})
It("returns the playerId in the cookie", func() {
@@ -180,6 +181,27 @@ var _ = Describe("Middlewares", func() {
Expect(cookieStr).To(ContainSubstring(playerIDCookieName("someone") + "=123"))
})
})
Context("Player has transcoding configured", func() {
BeforeEach(func() {
cookie := &http.Cookie{
Name: playerIDCookieName("someone"),
Value: "123",
MaxAge: cookieExpiry,
}
r.AddCookie(cookie)
mockedPlayers.transcoding = &model.Transcoding{ID: "12"}
gp := getPlayer(mockedPlayers)(next)
gp.ServeHTTP(w, r)
})
It("stores the player in the context", func() {
player := next.req.Context().Value("player").(model.Player)
Expect(player.ID).To(Equal("123"))
transcoding := next.req.Context().Value("transcoding").(model.Transcoding)
Expect(transcoding.ID).To(Equal("12"))
})
})
})
})
@@ -212,12 +234,13 @@ func (m *mockUsers) Authenticate(ctx context.Context, username, password, token,
type mockPlayers struct {
engine.Players
transcoding *model.Transcoding
}
func (mp *mockPlayers) Get(ctx context.Context, playerId string) (*model.Player, error) {
return &model.Player{ID: playerId}, nil
}
func (mp *mockPlayers) Register(ctx context.Context, id, client, typ, ip string) (*model.Player, error) {
return &model.Player{ID: id}, nil
func (mp *mockPlayers) Register(ctx context.Context, id, client, typ, ip string) (*model.Player, *model.Transcoding, error) {
return &model.Player{ID: id}, mp.transcoding, nil
}