Enable updating user handles

This commit is contained in:
Alessio 2022-05-07 15:23:37 -07:00
parent cb3fc469b2
commit 780577d724
2 changed files with 39 additions and 33 deletions

View File

@ -36,7 +36,8 @@ func (p Profile) SaveUser(u *scraper.User) error {
pinned_tweet_id, is_content_downloaded, is_id_fake) pinned_tweet_id, is_content_downloaded, is_id_fake)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
on conflict do update on conflict do update
set bio=?, set handle=?,
bio=?,
display_name=?, display_name=?,
following_count=?, following_count=?,
followers_count=?, followers_count=?,
@ -56,7 +57,7 @@ func (p Profile) SaveUser(u *scraper.User) error {
u.IsVerified, u.IsBanned, u.ProfileImageUrl, u.ProfileImageLocalPath, u.BannerImageUrl, u.BannerImageLocalPath, u.PinnedTweetID, u.IsVerified, u.IsBanned, u.ProfileImageUrl, u.ProfileImageLocalPath, u.BannerImageUrl, u.BannerImageLocalPath, u.PinnedTweetID,
u.IsContentDownloaded, u.IsIdFake, u.IsContentDownloaded, u.IsIdFake,
u.Bio, u.DisplayName, u.FollowingCount, u.FollowersCount, u.Location, u.Website, u.IsPrivate, u.IsVerified, u.IsBanned, u.Handle, u.Bio, u.DisplayName, u.FollowingCount, u.FollowersCount, u.Location, u.Website, u.IsPrivate, u.IsVerified, u.IsBanned,
u.ProfileImageUrl, u.ProfileImageLocalPath, u.BannerImageUrl, u.BannerImageLocalPath, u.PinnedTweetID, u.IsContentDownloaded, u.ProfileImageUrl, u.ProfileImageLocalPath, u.BannerImageUrl, u.BannerImageLocalPath, u.PinnedTweetID, u.IsContentDownloaded,
) )
if err != nil { if err != nil {

View File

@ -53,48 +53,53 @@ func TestModifyUser(t *testing.T) {
profile_path := "test_profiles/TestUserQueries" profile_path := "test_profiles/TestUserQueries"
profile := create_or_load_profile(profile_path) profile := create_or_load_profile(profile_path)
fake_user := create_dummy_user() user := create_dummy_user()
fake_user.DisplayName = "Display Name 1" user.DisplayName = "Display Name 1"
fake_user.Location = "location1" user.Location = "location1"
fake_user.IsPrivate = false user.Handle = "handle 1"
fake_user.IsVerified = false user.IsPrivate = false
fake_user.IsBanned = false user.IsVerified = false
fake_user.FollowersCount = 1000 user.IsBanned = false
fake_user.JoinDate = scraper.TimestampFromUnix(1000) user.FollowersCount = 1000
fake_user.ProfileImageUrl = "asdf" user.JoinDate = scraper.TimestampFromUnix(1000)
fake_user.IsContentDownloaded = true user.ProfileImageUrl = "asdf"
user.IsContentDownloaded = true
// Save the user so it can be modified // Save the user so it can be modified
err := profile.SaveUser(&fake_user) err := profile.SaveUser(&user)
require.NoError(err) require.NoError(err)
fake_user.DisplayName = "Display Name 2" new_handle := scraper.UserHandle(fmt.Sprintf("handle %d", rand.Int31()))
fake_user.Location = "location2"
fake_user.IsPrivate = true user.DisplayName = "Display Name 2"
fake_user.IsVerified = true user.Location = "location2"
fake_user.IsBanned = true user.Handle = new_handle
fake_user.FollowersCount = 2000 user.IsPrivate = true
fake_user.JoinDate = scraper.TimestampFromUnix(2000) user.IsVerified = true
fake_user.ProfileImageUrl = "asdf2" user.IsBanned = true
fake_user.IsContentDownloaded = false // test No Worsening user.FollowersCount = 2000
user.JoinDate = scraper.TimestampFromUnix(2000)
user.ProfileImageUrl = "asdf2"
user.IsContentDownloaded = false // test No Worsening
// Save the modified user // Save the modified user
err = profile.SaveUser(&fake_user) err = profile.SaveUser(&user)
require.NoError(err) require.NoError(err)
// Reload the modified user // Reload the modified user
new_fake_user, err := profile.GetUserByID(fake_user.ID) new_user, err := profile.GetUserByID(user.ID)
require.NoError(err) require.NoError(err)
assert.Equal("Display Name 2", new_fake_user.DisplayName) assert.Equal("Display Name 2", new_user.DisplayName)
assert.Equal("location2", new_fake_user.Location) assert.Equal(new_handle, new_user.Handle)
assert.True(new_fake_user.IsPrivate) assert.Equal("location2", new_user.Location)
assert.True(new_fake_user.IsVerified) assert.True(new_user.IsPrivate)
assert.True(new_fake_user.IsBanned) assert.True(new_user.IsVerified)
assert.Equal(2000, new_fake_user.FollowersCount) assert.True(new_user.IsBanned)
assert.Equal(int64(1000), new_fake_user.JoinDate.Unix()) assert.Equal(2000, new_user.FollowersCount)
assert.Equal("asdf2", new_fake_user.ProfileImageUrl) assert.Equal(int64(1000), new_user.JoinDate.Unix())
assert.True(new_fake_user.IsContentDownloaded) assert.Equal("asdf2", new_user.ProfileImageUrl)
assert.True(new_user.IsContentDownloaded)
} }
func TestHandleIsCaseInsensitive(t *testing.T) { func TestHandleIsCaseInsensitive(t *testing.T) {