Page MenuHomePhorge

No OneTemporary

diff --git a/src/applications/lipsum/generator/PhabricatorTestDataGenerator.php b/src/applications/lipsum/generator/PhabricatorTestDataGenerator.php
index 814919e23c..6470f6c26f 100644
--- a/src/applications/lipsum/generator/PhabricatorTestDataGenerator.php
+++ b/src/applications/lipsum/generator/PhabricatorTestDataGenerator.php
@@ -1,19 +1,28 @@
<?php
abstract class PhabricatorTestDataGenerator {
public function generate() {
return;
}
public function loadOneRandom($classname) {
try {
return newv($classname, array())
->loadOneWhere("1 = 1 ORDER BY RAND() LIMIT 1");
} catch (PhutilMissingSymbolException $ex) {
throw new PhutilMissingSymbolException(
"Unable to load symbol ".$classname.": this class does not exit.");
}
}
+
+ public function loadPhabrictorUserPHID() {
+ return $this->loadOneRandom("PhabricatorUser")->getPHID();
+ }
+
+ public function loadPhabrictorUser() {
+ return $this->loadOneRandom("PhabricatorUser");
+ }
+
}
diff --git a/src/applications/maniphest/lipsum/PhabricatorManiphestTaskTestDataGenerator.php b/src/applications/maniphest/lipsum/PhabricatorManiphestTaskTestDataGenerator.php
index 6a04324a48..3245e19a76 100644
--- a/src/applications/maniphest/lipsum/PhabricatorManiphestTaskTestDataGenerator.php
+++ b/src/applications/maniphest/lipsum/PhabricatorManiphestTaskTestDataGenerator.php
@@ -1,126 +1,118 @@
<?php
final class PhabricatorManiphestTaskTestDataGenerator
extends PhabricatorTestDataGenerator {
public function generate() {
- $authorPHID = $this->loadAuthorPHID();
+ $authorPHID = $this->loadPhabrictorUserPHID();
$author = id(new PhabricatorUser())
->loadOneWhere('phid = %s', $authorPHID);
$task = id(new ManiphestTask())
->setSubPriority($this->generateTaskSubPriority())
->setAuthorPHID($authorPHID)
->setTitle($this->generateTitle());
$content_source = PhabricatorContentSource::newForSource(
PhabricatorContentSource::SOURCE_UNKNOWN,
array());
$template = id(new ManiphestTransaction())
->setAuthorPHID($authorPHID)
->setContentSource($content_source);
// Accumulate Transactions
$changes = array();
$changes[ManiphestTransactionType::TYPE_TITLE] =
$this->generateTitle();
$changes[ManiphestTransactionType::TYPE_DESCRIPTION] =
$this->generateDescription();
$changes[ManiphestTransactionType::TYPE_OWNER] =
$this->loadOwnerPHID();
$changes[ManiphestTransactionType::TYPE_STATUS] =
$this->generateTaskStatus();
$changes[ManiphestTransactionType::TYPE_PRIORITY] =
$this->generateTaskPriority();
$changes[ManiphestTransactionType::TYPE_CCS] =
$this->getCCPHIDs();
$changes[ManiphestTransactionType::TYPE_PROJECTS] =
$this->getProjectPHIDs();
$transactions = array();
foreach ($changes as $type => $value) {
$transaction = clone $template;
$transaction->setTransactionType($type);
$transaction->setNewValue($value);
$transactions[] = $transaction;
}
// Accumulate Auxiliary Transactions
$aux_fields = id(ManiphestTaskExtensions::newExtensions())
->loadFields($task, $author);
if ($aux_fields) {
foreach ($aux_fields as $aux_field) {
$transaction = clone $template;
$transaction->setTransactionType(
ManiphestTransactionType::TYPE_AUXILIARY);
$aux_key = $aux_field->getAuxiliaryKey();
$transaction->setMetadataValue('aux:key', $aux_key);
$transaction->setNewValue($aux_field->getValueForStorage());
$transactions[] = $transaction;
}
}
// Apply Transactions
$editor = id(new ManiphestTransactionEditor())
->setActor($author)
->applyTransactions($task, $transactions);
return $task->save();
}
public function getCCPHIDs() {
$ccs = array();
for ($i = 0; $i < rand(1, 4);$i++) {
$ccs[] = $this->loadPhabrictorUserPHID();
}
return $ccs;
}
public function getProjectPHIDs() {
$projects = array();
for ($i = 0; $i < rand(1, 4);$i++) {
$projects[] = $this->loadOneRandom("PhabricatorProject")->getPHID();
}
return $projects;
}
- private function loadPhabrictorUserPHID() {
- return $this->loadOneRandom("PhabricatorUser")->getPHID();
- }
-
- public function loadAuthorPHID() {
- return $this->loadPhabrictorUserPHID();
- }
-
public function loadOwnerPHID() {
if (rand(0, 3) == 0) {
return null;
} else {
return $this->loadPhabrictorUserPHID();
}
}
public function generateTitle() {
return id(new PhutilLipsumContextFreeGrammar())
->generate();
}
public function generateDescription() {
return id(new PhutilLipsumContextFreeGrammar())
->generateSeveral(rand(30, 40));
}
public function generateTaskPriority() {
return array_rand(ManiphestTaskPriority::getTaskPriorityMap());
}
public function generateTaskSubPriority() {
return rand(2 << 16, 2 << 32);
}
public function generateTaskStatus() {
$statuses = array_keys(ManiphestTaskStatus::getTaskStatusMap());
// Make sure 4/5th of all generated Tasks are open
$random = rand(0, 4);
if ($random != 0) {
return ManiphestTaskStatus::STATUS_OPEN;
} else {
return array_rand($statuses);
}
}
}
diff --git a/src/applications/paste/lipsum/PhabricatorPasteTestDataGenerator.php b/src/applications/paste/lipsum/PhabricatorPasteTestDataGenerator.php
index fe31a45834..dd99bb4811 100644
--- a/src/applications/paste/lipsum/PhabricatorPasteTestDataGenerator.php
+++ b/src/applications/paste/lipsum/PhabricatorPasteTestDataGenerator.php
@@ -1,100 +1,92 @@
<?php
final class PhabricatorPasteTestDataGenerator
extends PhabricatorTestDataGenerator {
// Better Support for this in the future
private $supportedLanguages = array(
"Java" => "java",
"PHP" => "php");
public function generate() {
- $authorphid = $this->loadAuthorPHID();
+ $authorphid = $this->loadPhabrictorUserPHID();
$language = $this->generateLanguage();
$content = $this->generateContent($language);
$title = $this->generateTitle($language);
$paste_file = PhabricatorFile::newFromFileData(
$content,
array(
'name' => $title,
'mime-type' => 'text/plain; charset=utf-8',
'authorPHID' => $authorphid,
));
$policy = $this->generatePolicy();
$filephid = $paste_file->getPHID();
$parentphid = $this->loadPhabrictorPastePHID();
$paste = id(new PhabricatorPaste())
->setParentPHID($parentphid)
->setAuthorPHID($authorphid)
->setTitle($title)
->setLanguage($language)
->setViewPolicy($policy)
->setFilePHID($filephid)
->save();
return $paste;
}
private function loadPhabrictorPastePHID() {
$random = rand(0, 1);
if ($random == 1) {
$paste = id($this->loadOneRandom("PhabricatorPaste"));
if ($paste) {
return $paste->getPHID();
}
}
return null;
}
- private function loadPhabrictorUserPHID() {
- return id($this->loadOneRandom("PhabricatorUser"))->getPHID();
- }
-
- public function loadAuthorPHID() {
- return $this->loadPhabrictorUserPHID();
- }
-
public function generateTitle($language = null) {
$taskgen = new PhutilLipsumContextFreeGrammar();
// Remove Punctuation
$title = preg_replace('/[^a-zA-Z 0-9]+/', '', $taskgen->generate());
// Capitalize First Letters
$title = ucwords($title);
// Remove Spaces
$title = preg_replace('/\s+/', '', $title);
if ($language == null ||
!in_array($language, array_keys($this->supportedLanguages))) {
return $title.".txt";
} else {
return $title.".".$this->supportedLanguages[$language];
}
}
public function generateLanguage() {
$supplemented_lang = $this->supportedLanguages;
$supplemented_lang["lipsum"] = "txt";
return array_rand($supplemented_lang);
}
public function generateContent($language = null) {
if ($language == null ||
!in_array($language, array_keys($this->supportedLanguages))) {
return id(new PhutilLipsumContextFreeGrammar())
->generateSeveral(rand(30, 40));
} else {
$cfg_class = "Phutil".$language."CodeSnippetContextFreeGrammar";
return newv($cfg_class, array())->generate();
}
}
public function generatePolicy() {
// Make sure 4/5th of all generated Pastes are viewable to all
switch (rand(0, 4)) {
case 0:
return PhabricatorPolicies::POLICY_PUBLIC;
case 1:
return PhabricatorPolicies::POLICY_NOONE;
default:
return PhabricatorPolicies::POLICY_USER;
}
}
}
diff --git a/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php b/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php
index af726170a8..216d584df0 100644
--- a/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php
+++ b/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php
@@ -1,89 +1,82 @@
<?php
final class PhabricatorProjectTestDataGenerator
extends PhabricatorTestDataGenerator {
private $xactions = array();
public function generate() {
$title = $this->generateTitle();
- $author = $this->loadAuthorPHID();
+ $author = $this->loadPhabrictorUser();
+ $authorPHID = $author->getPHID();
$project = id(new PhabricatorProject())
->setName($title)
- ->setAuthorPHID($author);
+ ->setAuthorPHID($authorPHID);
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_NAME,
$title);
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_MEMBERS,
- $this->loadMembersWithAuthor($author));
+ $this->loadMembersWithAuthor($authorPHID));
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_STATUS,
$this->generateProjectStatus());
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_CAN_VIEW,
PhabricatorPolicies::POLICY_PUBLIC);
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_CAN_EDIT,
PhabricatorPolicies::POLICY_PUBLIC);
$this->addTransaction(
PhabricatorProjectTransactionType::TYPE_CAN_JOIN,
PhabricatorPolicies::POLICY_PUBLIC);
$editor = id(new PhabricatorProjectEditor($project))
- ->setActor(id(new PhabricatorUser())
- ->loadOneWhere('phid = %s', $author))
+ ->setActor($author)
->applyTransactions($this->xactions);
$profile = id(new PhabricatorProjectProfile())
->setBlurb($this->generateDescription())
->setProjectPHID($project->getPHID())
->save();
return $project->save();
}
private function addTransaction($type, $value) {
$this->xactions[] = id(new PhabricatorProjectTransaction())
->setTransactionType($type)
->setNewValue($value);
}
- private function loadPhabrictorUserPHID() {
- return $this->loadOneRandom("PhabricatorUser")->getPHID();
- }
-
- public function loadAuthorPHID() {
- return $this->loadPhabrictorUserPHID();
- }
public function loadMembersWithAuthor($author) {
$members = array($author);
for ($i = 0; $i < rand(10, 20);$i++) {
$members[] = $this->loadPhabrictorUserPHID();
}
return $members;
}
public function generateTitle() {
return id(new PhutilLipsumContextFreeGrammar())
->generate();
}
public function generateDescription() {
return id(new PhutilLipsumContextFreeGrammar())
->generateSeveral(rand(30, 40));
}
public function generateProjectStatus() {
$statuses = array_keys(PhabricatorProjectStatus::getStatusMap());
// Make sure 4/5th of all generated Projects are active
$random = rand(0, 4);
if ($random != 0) {
return $statuses[0];
} else {
return $statuses[1];
}
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Jan 19, 16:20 (2 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1126424
Default Alt Text
(11 KB)

Event Timeline