More testing

This commit is contained in:
Till Faelligen 2023-02-17 15:27:39 +01:00
parent 4cb5c2a952
commit 10ffe6492e
No known key found for this signature in database
GPG key ID: ACCDC9606D472758
3 changed files with 53 additions and 9 deletions

View file

@ -160,7 +160,7 @@ func (s *devicesStatements) InsertDevice(
if err := stmt.QueryRowContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, createdTimeMS, ipAddr, userAgent).Scan(&sessionID); err != nil { if err := stmt.QueryRowContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, createdTimeMS, ipAddr, userAgent).Scan(&sessionID); err != nil {
return nil, fmt.Errorf("insertDeviceStmt: %w", err) return nil, fmt.Errorf("insertDeviceStmt: %w", err)
} }
return &api.Device{ dev := &api.Device{
ID: id, ID: id,
UserID: userutil.MakeUserID(localpart, serverName), UserID: userutil.MakeUserID(localpart, serverName),
AccessToken: accessToken, AccessToken: accessToken,
@ -168,7 +168,11 @@ func (s *devicesStatements) InsertDevice(
LastSeenTS: createdTimeMS, LastSeenTS: createdTimeMS,
LastSeenIP: ipAddr, LastSeenIP: ipAddr,
UserAgent: userAgent, UserAgent: userAgent,
}, nil }
if displayName != nil {
dev.DisplayName = *displayName
}
return dev, nil
} }
func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *sql.Tx, id, func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *sql.Tx, id,

View file

@ -151,7 +151,7 @@ func (s *devicesStatements) InsertDevice(
if _, err := insertStmt.ExecContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, sessionID, createdTimeMS, ipAddr, userAgent); err != nil { if _, err := insertStmt.ExecContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, sessionID, createdTimeMS, ipAddr, userAgent); err != nil {
return nil, err return nil, err
} }
return &api.Device{ dev := &api.Device{
ID: id, ID: id,
UserID: userutil.MakeUserID(localpart, serverName), UserID: userutil.MakeUserID(localpart, serverName),
AccessToken: accessToken, AccessToken: accessToken,
@ -159,7 +159,11 @@ func (s *devicesStatements) InsertDevice(
LastSeenTS: createdTimeMS, LastSeenTS: createdTimeMS,
LastSeenIP: ipAddr, LastSeenIP: ipAddr,
UserAgent: userAgent, UserAgent: userAgent,
}, nil }
if displayName != nil {
dev.DisplayName = *displayName
}
return dev, nil
} }
func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *sql.Tx, id, func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *sql.Tx, id,
@ -172,7 +176,7 @@ func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *
if _, err := insertStmt.ExecContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, sessionID, createdTimeMS, ipAddr, userAgent); err != nil { if _, err := insertStmt.ExecContext(ctx, id, localpart, serverName, accessToken, createdTimeMS, displayName, sessionID, createdTimeMS, ipAddr, userAgent); err != nil {
return nil, err return nil, err
} }
return &api.Device{ dev := &api.Device{
ID: id, ID: id,
UserID: userutil.MakeUserID(localpart, serverName), UserID: userutil.MakeUserID(localpart, serverName),
AccessToken: accessToken, AccessToken: accessToken,
@ -180,7 +184,11 @@ func (s *devicesStatements) InsertDeviceWithSessionID(ctx context.Context, txn *
LastSeenTS: createdTimeMS, LastSeenTS: createdTimeMS,
LastSeenIP: ipAddr, LastSeenIP: ipAddr,
UserAgent: userAgent, UserAgent: userAgent,
}, nil }
if displayName != nil {
dev.DisplayName = *displayName
}
return dev, nil
} }
func (s *devicesStatements) DeleteDevice( func (s *devicesStatements) DeleteDevice(

View file

@ -437,11 +437,11 @@ func TestAccountData(t *testing.T) {
func TestDevices(t *testing.T) { func TestDevices(t *testing.T) {
ctx := context.Background() ctx := context.Background()
alice := test.NewUser(t)
_ = alice
dupeAccessToken := util.RandomString(8) dupeAccessToken := util.RandomString(8)
displayName := "testing"
creationTests := []struct { creationTests := []struct {
name string name string
inputData *api.PerformDeviceCreationRequest inputData *api.PerformDeviceCreationRequest
@ -455,7 +455,7 @@ func TestDevices(t *testing.T) {
}, },
{ {
name: "implicit local user", name: "implicit local user",
inputData: &api.PerformDeviceCreationRequest{Localpart: "test1", AccessToken: util.RandomString(8), NoDeviceListUpdate: true}, inputData: &api.PerformDeviceCreationRequest{Localpart: "test1", AccessToken: util.RandomString(8), NoDeviceListUpdate: true, DeviceDisplayName: &displayName},
}, },
{ {
name: "explicit local user", name: "explicit local user",
@ -547,6 +547,38 @@ func TestDevices(t *testing.T) {
if !reflect.DeepEqual(*res.Device, queryDevicesRes.Devices[0]) { if !reflect.DeepEqual(*res.Device, queryDevicesRes.Devices[0]) {
t.Fatalf("expected device to be\n%#v, got \n%#v", *res.Device, queryDevicesRes.Devices[0]) t.Fatalf("expected device to be\n%#v, got \n%#v", *res.Device, queryDevicesRes.Devices[0])
} }
newDisplayName := "new name"
if tc.inputData.DeviceDisplayName == nil {
updateRes := api.PerformDeviceUpdateResponse{}
updateReq := api.PerformDeviceUpdateRequest{
RequestingUserID: fmt.Sprintf("@%s:%s", tc.inputData.Localpart, "test"),
DeviceID: deviceID,
DisplayName: &newDisplayName,
}
if err = intAPI.PerformDeviceUpdate(ctx, &updateReq, &updateRes); err != nil {
t.Fatal(err)
}
}
queryDeviceInfosRes := api.QueryDeviceInfosResponse{}
queryDeviceInfosReq := api.QueryDeviceInfosRequest{DeviceIDs: []string{*tc.inputData.DeviceID}}
if err = intAPI.QueryDeviceInfos(ctx, &queryDeviceInfosReq, &queryDeviceInfosRes); err != nil {
t.Fatal(err)
}
gotDisplayName := queryDeviceInfosRes.DeviceInfo[*tc.inputData.DeviceID].DisplayName
if tc.inputData.DeviceDisplayName != nil {
wantDisplayName := *tc.inputData.DeviceDisplayName
if wantDisplayName != gotDisplayName {
t.Fatalf("expected displayName to be %s, got %s", wantDisplayName, gotDisplayName)
}
} else {
wantDisplayName := newDisplayName
if wantDisplayName != gotDisplayName {
t.Fatalf("expected displayName to be %s, got %s", wantDisplayName, gotDisplayName)
}
}
}) })
} }