MCPcopy
hub / github.com/git-lfs/git-lfs / TestAPIBatchOnlyBasic

Function TestAPIBatchOnlyBasic

tq/api_test.go:78–129  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

76}
77
78func TestAPIBatchOnlyBasic(t *testing.T) {
79 require.NotNil(t, batchReqSchema, batchReqSchema.Source)
80 require.NotNil(t, batchResSchema, batchResSchema.Source)
81
82 srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
83 if r.URL.Path != "/api/objects/batch" {
84 w.WriteHeader(404)
85 return
86 }
87
88 assert.Equal(t, "POST", r.Method)
89
90 bodyLoader, body := gojsonschema.NewReaderLoader(r.Body)
91 bReq := &batchRequest{}
92 err := json.NewDecoder(body).Decode(bReq)
93 r.Body.Close()
94 assert.Nil(t, err)
95 assertSchema(t, batchReqSchema, bodyLoader)
96
97 assert.Equal(t, 0, len(bReq.TransferAdapterNames))
98 if assert.Equal(t, 1, len(bReq.Objects)) {
99 assert.Equal(t, "a", bReq.Objects[0].Oid)
100 }
101
102 w.Header().Set("Content-Type", "application/json")
103 writeLoader, resWriter := gojsonschema.NewWriterLoader(w)
104 err = json.NewEncoder(resWriter).Encode(&BatchResponse{
105 TransferAdapterName: "basic",
106 Objects: make([]*Transfer, 0),
107 })
108
109 assert.Nil(t, err)
110 assertSchema(t, batchResSchema, writeLoader)
111 }))
112 defer srv.Close()
113
114 c, err := lfsapi.NewClient(lfshttp.NewContext(nil, nil, map[string]string{
115 "lfs.url": srv.URL + "/api",
116 }))
117 require.Nil(t, err)
118
119 tqc := &tqClient{Client: c}
120 bReq := &batchRequest{
121 TransferAdapterNames: []string{"basic"},
122 Objects: []*Transfer{
123 &Transfer{Oid: "a", Size: 1},
124 },
125 }
126 bRes, err := tqc.Batch("remote", bReq)
127 require.Nil(t, err)
128 assert.Equal(t, "basic", bRes.TransferAdapterName)
129}
130
131func TestAPIBatchEmptyObjects(t *testing.T) {
132 c, err := lfsapi.NewClient(nil)

Callers

nothing calls this directly

Calls 8

BatchMethod · 0.95
NewClientFunction · 0.92
NewContextFunction · 0.92
EncodeMethod · 0.80
assertSchemaFunction · 0.70
CloseMethod · 0.65
SetMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected