Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
06c97f21
Commit
06c97f21
authored
May 23, 2018
by
lain
Browse files
Merge branch 'feature/deps-migration' into 'develop'
Migrate to comeonin 4 and Cachex 3 See merge request
!162
parents
f0e8194a
e55c6f31
Pipeline
#2000
passed with stages
in 4 minutes and 38 seconds
Changes
10
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
config/test.exs
View file @
06c97f21
...
...
@@ -21,7 +21,7 @@
pool:
Ecto
.
Adapters
.
SQL
.
Sandbox
# Reduce hash rounds for testing
config
:
comeonin
,
:pbkdf2_
rounds
,
1
config
:
pbkdf2_elixir
,
rounds
:
1
config
:pleroma
,
:websub
,
Pleroma
.
Web
.
WebsubMock
config
:pleroma
,
:ostatus
,
Pleroma
.
Web
.
OStatusMock
...
...
lib/pleroma/application.ex
View file @
06c97f21
...
...
@@ -5,6 +5,7 @@ defmodule Pleroma.Application do
# for more information on OTP Applications
def
start
(
_type
,
_args
)
do
import
Supervisor
.
Spec
import
Cachex
.
Spec
# Define workers and child supervisors to be supervised
children
=
...
...
@@ -28,8 +29,11 @@ def start(_type, _args) do
[
:idempotency_cache
,
[
default_ttl:
:timer
.
seconds
(
6
*
60
*
60
),
ttl_interval:
:timer
.
seconds
(
60
),
expiration:
expiration
(
default:
:timer
.
seconds
(
6
*
60
*
60
),
interval:
:timer
.
seconds
(
60
)
),
limit:
2500
]
],
...
...
lib/pleroma/object.ex
View file @
06c97f21
...
...
@@ -33,19 +33,15 @@ def get_cached_by_ap_id(ap_id) do
else
key
=
"object:
#{
ap_id
}
"
Cachex
.
get!
(
:user_cache
,
key
,
fallback:
fn
_
->
object
=
get_by_ap_id
(
ap_id
)
if
object
do
{
:commit
,
object
}
else
{
:ignore
,
object
}
end
Cachex
.
fetch!
(
:user_cache
,
key
,
fn
_
->
object
=
get_by_ap_id
(
ap_id
)
if
object
do
{
:commit
,
object
}
else
{
:ignore
,
object
}
end
)
end
)
end
end
...
...
lib/pleroma/user.ex
View file @
06c97f21
...
...
@@ -223,9 +223,9 @@ def get_by_ap_id(ap_id) do
def
update_and_set_cache
(
changeset
)
do
with
{
:ok
,
user
}
<-
Repo
.
update
(
changeset
)
do
Cachex
.
se
t
(
:user_cache
,
"ap_id:
#{
user
.
ap_id
}
"
,
user
)
Cachex
.
se
t
(
:user_cache
,
"nickname:
#{
user
.
nickname
}
"
,
user
)
Cachex
.
se
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
user_info
(
user
))
Cachex
.
pu
t
(
:user_cache
,
"ap_id:
#{
user
.
ap_id
}
"
,
user
)
Cachex
.
pu
t
(
:user_cache
,
"nickname:
#{
user
.
nickname
}
"
,
user
)
Cachex
.
pu
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
user_info
(
user
))
{
:ok
,
user
}
else
e
->
e
...
...
@@ -239,12 +239,12 @@ def invalidate_cache(user) do
def
get_cached_by_ap_id
(
ap_id
)
do
key
=
"ap_id:
#{
ap_id
}
"
Cachex
.
g
et!
(
:user_cache
,
key
,
fallback:
fn
_
->
get_by_ap_id
(
ap_id
)
end
)
Cachex
.
f
et
ch
!
(
:user_cache
,
key
,
fn
_
->
get_by_ap_id
(
ap_id
)
end
)
end
def
get_cached_by_nickname
(
nickname
)
do
key
=
"nickname:
#{
nickname
}
"
Cachex
.
g
et!
(
:user_cache
,
key
,
fallback:
fn
_
->
get_or_fetch_by_nickname
(
nickname
)
end
)
Cachex
.
f
et
ch
!
(
:user_cache
,
key
,
fn
_
->
get_or_fetch_by_nickname
(
nickname
)
end
)
end
def
get_by_nickname
(
nickname
)
do
...
...
@@ -260,7 +260,7 @@ def get_by_nickname_or_email(nickname_or_email) do
def
get_cached_user_info
(
user
)
do
key
=
"user_info:
#{
user
.
id
}
"
Cachex
.
g
et!
(
:user_cache
,
key
,
fallback:
fn
_
->
user_info
(
user
)
end
)
Cachex
.
f
et
ch
!
(
:user_cache
,
key
,
fn
_
->
user_info
(
user
)
end
)
end
def
fetch_by_nickname
(
nickname
)
do
...
...
lib/pleroma/web/activity_pub/transmogrifier.ex
View file @
06c97f21
...
...
@@ -229,7 +229,7 @@ def handle_incoming(
"object"
=>
%{
"type"
=>
"Announce"
,
"object"
=>
object_id
},
"actor"
=>
actor
,
"id"
=>
id
}
=
data
}
=
_
data
)
do
with
%
User
{}
=
actor
<-
User
.
get_or_fetch_by_ap_id
(
actor
),
{
:ok
,
object
}
<-
...
...
@@ -237,7 +237,7 @@ def handle_incoming(
{
:ok
,
activity
,
_
,
_
}
<-
ActivityPub
.
unannounce
(
actor
,
object
,
id
,
false
)
do
{
:ok
,
activity
}
else
e
->
:error
_
e
->
:error
end
end
...
...
@@ -247,7 +247,7 @@ def handle_incoming(
"object"
=>
%{
"type"
=>
"Like"
,
"object"
=>
object_id
},
"actor"
=>
actor
,
"id"
=>
id
}
=
data
}
=
_
data
)
do
with
%
User
{}
=
actor
<-
User
.
get_or_fetch_by_ap_id
(
actor
),
{
:ok
,
object
}
<-
...
...
@@ -255,7 +255,7 @@ def handle_incoming(
{
:ok
,
activity
,
_
,
_
}
<-
ActivityPub
.
unlike
(
actor
,
object
,
id
,
false
)
do
{
:ok
,
activity
}
else
e
->
:error
_
e
->
:error
end
end
...
...
@@ -516,10 +516,10 @@ def maybe_retire_websub(ap_id) do
def
maybe_fix_user_url
(
data
)
do
if
is_map
(
data
[
"url"
])
do
data
=
Map
.
put
(
data
,
"url"
,
data
[
"url"
][
"href"
])
Map
.
put
(
data
,
"url"
,
data
[
"url"
][
"href"
])
else
data
end
data
end
def
maybe_fix_user_object
(
data
)
do
...
...
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
View file @
06c97f21
...
...
@@ -275,11 +275,7 @@ def post_status(%{assigns: %{user: user}} = conn, %{"status" => _} = params) do
end
{
:ok
,
activity
}
=
Cachex
.
get!
(
:idempotency_cache
,
idempotency_key
,
fallback:
fn
_
->
CommonAPI
.
post
(
user
,
params
)
end
)
Cachex
.
fetch!
(
:idempotency_cache
,
idempotency_key
,
fn
_
->
CommonAPI
.
post
(
user
,
params
)
end
)
render
(
conn
,
StatusView
,
"status.json"
,
%{
activity:
activity
,
for:
user
,
as:
:activity
})
end
...
...
mix.exs
View file @
06c97f21
...
...
@@ -36,12 +36,13 @@ defp deps do
{
:postgrex
,
">= 0.0.0"
},
{
:gettext
,
"~> 0.11"
},
{
:cowboy
,
"~> 1.0"
,
override:
true
},
{
:comeonin
,
"~> 3.0"
},
{
:comeonin
,
"~> 4.0"
},
{
:pbkdf2_elixir
,
"~> 0.12"
},
{
:trailing_format_plug
,
"~> 0.0.5"
},
{
:html_sanitize_ex
,
"~> 1.3.0-rc1"
},
{
:phoenix_html
,
"~> 2.10"
},
{
:calendar
,
"~> 0.16.1"
},
{
:cachex
,
"~>
2.1
"
},
{
:cachex
,
"~>
3.0
"
},
{
:httpoison
,
"~> 1.1.0"
},
{
:jason
,
"~> 1.0"
},
{
:ex_machina
,
"~> 2.0"
,
only:
:test
},
...
...
mix.lock
View file @
06c97f21
%{
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm"},
"cachex": {:hex, :cachex, "
2.1.0", "fad49b4e78d11c6c314e75bd8c9408f5b78cb065c047442798caed10803ee3be
", [:mix], [{:eternal, "~> 1.
1
", [hex: :eternal, repo: "hexpm", optional: false]}], "hexpm"},
"cachex": {:hex, :cachex, "
3.0.2", "1351caa4e26e29f7d7ec1d29b53d6013f0447630bbf382b4fb5d5bad0209f203
", [:mix], [{:eternal, "~> 1.
2
", [hex: :eternal, repo: "hexpm", optional:
false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional:
false]}], "hexpm"},
"calendar": {:hex, :calendar, "0.16.1", "782327ad8bae7c797b887840dc4ddb933f05ce6e333e5b04964d7a5d5f79bde3", [:mix], [{:tzdata, "~> 0.5.8 or ~> 0.1.201603", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"},
"certifi": {:hex, :certifi, "2.3.1", "d0f424232390bf47d82da8478022301c561cf6445b5b5fb6a84d49a9e76d2639", [:rebar3], [{:parse_trans, "3.2.0", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm"},
"comeonin": {:hex, :comeonin, "3.2.0", "cb10995a22aed6812667efb3856f548818c85d85394d8132bc116fbd6995c1ef", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"},
"con_cache": {:hex, :con_cache, "0.12.0", "2d961aec219aa5a914473873f348f5a6088292dc69d5192a9d25f8a1e13e9905", [:mix], [{:exactor, "~> 2.2.0", [hex: :exactor, optional: false]}]},
"comeonin": {:hex, :comeonin, "4.1.1", "c7304fc29b45b897b34142a91122bc72757bc0c295e9e824999d5179ffc08416", [:mix], [{:argon2_elixir, "~> 1.2", [hex: :argon2_elixir, repo: "hexpm", optional: true]}, {:bcrypt_elixir, "~> 0.12.1 or ~> 1.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: true]}, {:pbkdf2_elixir, "~> 0.12", [hex: :pbkdf2_elixir, repo: "hexpm", optional: true]}], "hexpm"},
"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [:mix], [], "hexpm"},
"cowboy": {:hex, :cowboy, "1.1.2", "61ac29ea970389a88eca5a65601460162d370a70018afe6f949a29dca91f3bb0", [:rebar3], [{:cowlib, "~> 1.0.2", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3.2", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm"},
"cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [:make], [], "hexpm"},
"credo": {:hex, :credo, "0.9.
1
", "
f021affa11b32a94dc2e807a6472ce0914289c9132f99644a97fc84432b202a1
", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:poison, ">= 0.0.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"},
"credo": {:hex, :credo, "0.9.
2
", "
841d316612f568beb22ba310d816353dddf31c2d94aa488ae5a27bb53760d0bf
", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:poison, ">= 0.0.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"},
"db_connection": {:hex, :db_connection, "1.1.3", "89b30ca1ef0a3b469b1c779579590688561d586694a3ce8792985d4d7e575a61", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: true]}], "hexpm"},
"decimal": {:hex, :decimal, "1.5.0", "b0433a36d0e2430e3d50291b1c65f53c37d56f83665b43d79963684865beab68", [:mix], [], "hexpm"},
"deppie": {:hex, :deppie, "1.1.0", "cfb6fcee7dfb64eb78cb8505537971a0805131899326ad469ef10df04520f451", [:mix], []},
"ecto": {:hex, :ecto, "2.2.10", "e7366dc82f48f8dd78fcbf3ab50985ceeb11cb3dc93435147c6e13f2cda0992e", [:mix], [{:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: true]}, {:decimal, "~> 1.2", [hex: :decimal, repo: "hexpm", optional: false]}, {:mariaex, "~> 0.8.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.13.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: true]}], "hexpm"},
"elixir_make": {:hex, :elixir_make, "0.4.1", "6628b86053190a80b9072382bb9756a6c78624f208ec0ff22cb94c8977d80060", [:mix], [], "hexpm"},
"eternal": {:hex, :eternal, "1.2.0", "e2a6b6ce3b8c248f7dc31451aefca57e3bdf0e48d73ae5043229380a67614c41", [:mix], [], "hexpm"},
"ex_machina": {:hex, :ex_machina, "2.2.0", "fec496331e04fc2db2a1a24fe317c12c0c4a50d2beb8ebb3531ed1f0d84be0ed", [:mix], [{:ecto, "~> 2.1", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"},
"exactor": {:hex, :exactor, "2.2.3", "a6972f43bb6160afeb73e1d8ab45ba604cd0ac8b5244c557093f6e92ce582786", [:mix], []},
"fs": {:hex, :fs, "2.12.0", "ad631efacc9a5683c8eaa1b274e24fa64a1b8eb30747e9595b93bec7e492e25e", [:rebar3], []},
"gettext": {:hex, :gettext, "0.15.0", "40a2b8ce33a80ced7727e36768499fc9286881c43ebafccae6bab731e2b2b8ce", [:mix], [], "hexpm"},
"hackney": {:hex, :hackney, "1.12.1", "8bf2d0e11e722e533903fe126e14d6e7e94d9b7983ced595b75f532e04b7fdc7", [:rebar3], [{:certifi, "2.3.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.1.1", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"},
"html_sanitize_ex": {:hex, :html_sanitize_ex, "1.3.0", "f005ad692b717691203f940c686208aa3d8ffd9dd4bb3699240096a51fa9564e", [:mix], [{:mochiweb, "~> 2.15", [hex: :mochiweb, repo: "hexpm", optional: false]}], "hexpm"},
"httpoison": {:hex, :httpoison, "1.1.
0
", "
497949fb62924432f64a45269d20e6f61ecf35084ffa270917afcdb7cd4d8061
", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
"httpoison": {:hex, :httpoison, "1.1.
1
", "
96ed7ab79f78a31081bb523eefec205fd2900a02cda6dbc2300e7a1226219566
", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
"idna": {:hex, :idna, "5.1.1", "cbc3b2fa1645113267cc59c760bafa64b2ea0334635ef06dbac8801e42f7279c", [:rebar3], [{:unicode_util_compat, "0.3.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"},
"jason": {:hex, :jason, "1.0.0", "0f7cfa9bdb23fed721ec05419bcee2b2c21a77e926bce0deda029b5adc716fe2", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"},
"meck": {:hex, :meck, "0.8.9", "64c5c0bd8bcca3a180b44196265c8ed7594e16bcc845d0698ec6b4e577f48188", [:rebar3], [], "hexpm"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"},
"mime": {:hex, :mime, "1.2.0", "78adaa84832b3680de06f88f0997e3ead3b451a440d183d688085be2d709b534", [:mix], [], "hexpm"},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"},
"mix_test_watch": {:hex, :mix_test_watch, "0.3.3", "70859889a8d1d43d1b75d69d87258a301f43209a17787cdb2bd9cab42adf271d", [:mix], [{:fs, "~> 2.12", [hex: :fs, optional: false]}]},
"mochiweb": {:hex, :mochiweb, "2.15.0", "e1daac474df07651e5d17cc1e642c4069c7850dc4508d3db7263a0651330aacc", [:rebar3], [], "hexpm"},
"mock": {:hex, :mock, "0.3.1", "994f00150f79a0ea50dc9d86134cd9ebd0d177ad60bd04d1e46336cdfdb98ff9", [:mix], [{:meck, "~> 0.8.8", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm"},
"parse_trans": {:hex, :parse_trans, "3.2.0", "2adfa4daf80c14dc36f522cf190eb5c4ee3e28008fc6394397c16f62a26258c2", [:rebar3], [], "hexpm"},
"pbkdf2_elixir": {:hex, :pbkdf2_elixir, "0.12.3", "6706a148809a29c306062862c803406e88f048277f6e85b68faf73291e820b84", [:mix], [], "hexpm"},
"phoenix": {:hex, :phoenix, "1.3.2", "2a00d751f51670ea6bc3f2ba4e6eb27ecb8a2c71e7978d9cd3e5de5ccf7378bd", [:mix], [{:cowboy, "~> 1.0", [hex: :cowboy, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.3.3 or ~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_ecto": {:hex, :phoenix_ecto, "3.3.0", "702f6e164512853d29f9d20763493f2b3bcfcb44f118af2bc37bb95d0801b480", [:mix], [{:ecto, "~> 2.1", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.9", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_html": {:hex, :phoenix_html, "2.11.
1
", "
77b6f7fbd252168c6ec4f573de648d37cc5258cda13266ef001fbf99267eb6f3
", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_html": {:hex, :phoenix_html, "2.11.
2
", "
86ebd768258ba60a27f5578bec83095bdb93485d646fc4111db8844c316602d6
", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "1.0.2", "bfa7fd52788b5eaa09cb51ff9fcad1d9edfeb68251add458523f839392f034c1", [:mix], [], "hexpm"},
"plug": {:hex, :plug, "1.5.
0
", "
224b25b4039bedc1eac149fb52ed456770b9678bbf0349cdd810460e1e09195b
", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.
1
", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"},
"plug": {:hex, :plug, "1.5.
1
", "
1ff35bdecfb616f1a2b1c935ab5e4c47303f866cb929d2a76f0541e553a58165
", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.
3
", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"},
"poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"},
"poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [:rebar], [], "hexpm"},
"postgrex": {:hex, :postgrex, "0.13.5", "3d931aba29363e1443da167a4b12f06dcd171103c424de15e5f3fc2ba3e6d9c5", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm"},
...
...
@@ -45,4 +40,5 @@
"trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"tzdata": {:hex, :tzdata, "0.5.16", "13424d3afc76c68ff607f2df966c0ab4f3258859bbe3c979c9ed1606135e7352", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
"unicode_util_compat": {:hex, :unicode_util_compat, "0.3.1", "a1f612a7b512638634a603c8f401892afbf99b8ce93a45041f8aaca99cadb85e", [:rebar3], [], "hexpm"},
"unsafe": {:hex, :unsafe, "1.0.0", "7c21742cd05380c7875546b023481d3a26f52df8e5dfedcb9f958f322baae305", [:mix], [], "hexpm"},
}
test/web/twitter_api/views/notification_view_test.exs
View file @
06c97f21
...
...
@@ -24,7 +24,7 @@ test "A follow notification" do
{
:ok
,
follower
}
=
User
.
follow
(
follower
,
user
)
{
:ok
,
activity
}
=
ActivityPub
.
follow
(
follower
,
user
)
Cachex
.
se
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
User
.
user_info
(
Repo
.
get!
(
User
,
user
.
id
)))
Cachex
.
pu
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
User
.
user_info
(
Repo
.
get!
(
User
,
user
.
id
)))
[
follow_notif
]
=
Notification
.
for_user
(
user
)
represented
=
%{
...
...
test/web/twitter_api/views/user_view_test.exs
View file @
06c97f21
...
...
@@ -31,7 +31,7 @@ test "A user" do
User
.
follow
(
second_follower
,
user
)
User
.
follow
(
user
,
follower
)
{
:ok
,
user
}
=
User
.
update_follower_count
(
user
)
Cachex
.
se
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
User
.
user_info
(
Repo
.
get!
(
User
,
user
.
id
)))
Cachex
.
pu
t
(
:user_cache
,
"user_info:
#{
user
.
id
}
"
,
User
.
user_info
(
Repo
.
get!
(
User
,
user
.
id
)))
image
=
"http://localhost:4001/images/avi.png"
banner
=
"http://localhost:4001/images/banner.png"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment