Closed Bug 1440779 Opened 2 years ago Closed 11 months ago

Implement preference-experiment action as an internal action


(Firefox :: Normandy Client, enhancement, P3)




Firefox 66
Tracking Status
firefox66 --- fixed


(Reporter: mythmon, Assigned: glasserc)


(Blocks 1 open bug)



(6 files)

This bug covers converting the preference-experiment action [0] an internal action (see bug 1436129).

Summary: Implement show-heartbeat action as an internal action → Implement preference-experiment action as an internal action
Blocks: 1459931
Assignee: nobody → eglassercamp
Having _preExecute be called in the constructor makes it hard to test
it, but because it's a lifecycle hook that subclasses are intended to
override, testing it is very natural.

While we're here, move the initialization of AddonStudyAction from
_preExecute to the constructor, since it doesn't really make sense for
AddonStudyAction to be constructed without all members initialized.
Reading test logs is a bit baffling because all tests are called
"wrappedTestFunction". Try to imitate a Pythonic decorator and
make the returned function have the same name as the old one. is a readonly property, but MDN says you can
set a function's name using Object.defineProperty, so that's what we

Depends on D13572
Depends on D13573
I think this should have been here before but it wasn't.

To make it easier to distinguish recipes generated by
preferenceStudyFactory, give them a unique name with the unused

Depends on D13574
Blocks: 1513646
Keywords: checkin-needed
Pushed by
BaseAction: move _preExecute call out of constructor r=mythmon,Gijs
preserve function name through decoration r=mythmon,Gijs
Add PreferenceExperimentAction r=mythmon,Gijs
shut off experiments when the optoutstudies pref is disabled r=mythmon,Gijs
hook up in-tree version of PreferenceExperimentAction r=mythmon,Gijs
Refactor unenrollment to use Promise.all r=Gijs
Keywords: checkin-needed
Depends on: 1515922
Duplicate of this bug: 1460680
You need to log in before you can comment on or make changes to this bug.