Merge "Remove the description field from the label model" into feature/1.0
This commit is contained in:
commit
0b9c17132e
@ -15,7 +15,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with ARA. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Generated by Django 2.1.7 on 2019-03-19 00:42
|
||||
# Generated by Django 2.2.1 on 2019-05-17 10:13
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
@ -81,7 +81,6 @@ class Migration(migrations.Migration):
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('name', models.CharField(max_length=255)),
|
||||
('description', models.BinaryField(max_length=4294967295)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'labels',
|
||||
@ -122,39 +121,6 @@ class Migration(migrations.Migration):
|
||||
'db_table': 'playbooks',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Record',
|
||||
fields=[
|
||||
('id', models.BigAutoField(editable=False, primary_key=True, serialize=False)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('key', models.CharField(max_length=255)),
|
||||
('value', models.BinaryField(max_length=4294967295)),
|
||||
('type', models.CharField(max_length=255)),
|
||||
('playbook', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to='api.Playbook')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'records',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Result',
|
||||
fields=[
|
||||
('id', models.BigAutoField(editable=False, primary_key=True, serialize=False)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('started', models.DateTimeField(default=django.utils.timezone.now)),
|
||||
('ended', models.DateTimeField(blank=True, null=True)),
|
||||
('status', models.CharField(choices=[('ok', 'ok'), ('failed', 'failed'), ('skipped', 'skipped'), ('unreachable', 'unreachable'), ('changed', 'changed'), ('ignored', 'ignored'), ('unknown', 'unknown')], default='unknown', max_length=25)),
|
||||
('content', models.BinaryField(max_length=4294967295)),
|
||||
('host', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Host')),
|
||||
('play', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Play')),
|
||||
('playbook', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Playbook')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'results',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Task',
|
||||
fields=[
|
||||
@ -177,10 +143,24 @@ class Migration(migrations.Migration):
|
||||
'db_table': 'tasks',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='result',
|
||||
name='task',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Task'),
|
||||
migrations.CreateModel(
|
||||
name='Result',
|
||||
fields=[
|
||||
('id', models.BigAutoField(editable=False, primary_key=True, serialize=False)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('started', models.DateTimeField(default=django.utils.timezone.now)),
|
||||
('ended', models.DateTimeField(blank=True, null=True)),
|
||||
('status', models.CharField(choices=[('ok', 'ok'), ('failed', 'failed'), ('skipped', 'skipped'), ('unreachable', 'unreachable'), ('changed', 'changed'), ('ignored', 'ignored'), ('unknown', 'unknown')], default='unknown', max_length=25)),
|
||||
('content', models.BinaryField(max_length=4294967295)),
|
||||
('host', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Host')),
|
||||
('play', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Play')),
|
||||
('playbook', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Playbook')),
|
||||
('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='results', to='api.Task')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'results',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='play',
|
||||
@ -202,9 +182,21 @@ class Migration(migrations.Migration):
|
||||
name='playbook',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='api.Playbook'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='record',
|
||||
unique_together={('key', 'playbook')},
|
||||
migrations.CreateModel(
|
||||
name='Record',
|
||||
fields=[
|
||||
('id', models.BigAutoField(editable=False, primary_key=True, serialize=False)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('key', models.CharField(max_length=255)),
|
||||
('value', models.BinaryField(max_length=4294967295)),
|
||||
('type', models.CharField(max_length=255)),
|
||||
('playbook', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to='api.Playbook')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'records',
|
||||
'unique_together': {('key', 'playbook')},
|
||||
},
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='host',
|
||||
|
@ -60,7 +60,6 @@ class Label(Base):
|
||||
db_table = "labels"
|
||||
|
||||
name = models.CharField(max_length=255)
|
||||
description = models.BinaryField(max_length=(2 ** 32) - 1)
|
||||
|
||||
def __str__(self):
|
||||
return "<Label %s: %s>" % (self.id, self.name)
|
||||
|
@ -69,7 +69,7 @@ class FileSha1Serializer(serializers.ModelSerializer):
|
||||
class SimpleLabelSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.Label
|
||||
exclude = ("description", "created", "updated")
|
||||
exclude = ("created", "updated")
|
||||
|
||||
|
||||
class SimplePlaybookSerializer(DurationSerializer):
|
||||
@ -186,8 +186,6 @@ class DetailedLabelSerializer(serializers.ModelSerializer):
|
||||
model = models.Label
|
||||
fields = "__all__"
|
||||
|
||||
description = ara_fields.CompressedTextField(read_only=True)
|
||||
|
||||
|
||||
class DetailedPlaybookSerializer(DurationSerializer, ItemCountSerializer):
|
||||
class Meta:
|
||||
@ -273,10 +271,6 @@ class ListLabelSerializer(serializers.ModelSerializer):
|
||||
model = models.Label
|
||||
fields = "__all__"
|
||||
|
||||
description = ara_fields.CompressedTextField(
|
||||
default=ara_fields.EMPTY_STRING, help_text="A text description of the label"
|
||||
)
|
||||
|
||||
|
||||
class ListPlaybookSerializer(DurationSerializer, ItemCountSerializer):
|
||||
class Meta:
|
||||
@ -350,10 +344,6 @@ class LabelSerializer(serializers.ModelSerializer):
|
||||
model = models.Label
|
||||
fields = "__all__"
|
||||
|
||||
description = ara_fields.CompressedTextField(
|
||||
default=ara_fields.EMPTY_STRING, help_text="A text description of the label"
|
||||
)
|
||||
|
||||
|
||||
class PlaybookSerializer(DurationSerializer):
|
||||
class Meta:
|
||||
|
@ -29,7 +29,6 @@ FILE_CONTENTS = "---\n# Example file"
|
||||
HOST_FACTS = {"ansible_fqdn": "hostname", "ansible_distribution": "CentOS"}
|
||||
PLAYBOOK_ARGUMENTS = {"ansible_version": "2.5.5", "inventory": "/etc/ansible/hosts"}
|
||||
RESULT_CONTENTS = {"results": [{"msg": "something happened"}]}
|
||||
LABEL_DESCRIPTION = "label description"
|
||||
TASK_TAGS = ["always", "never"]
|
||||
RECORD_LIST = ["one", "two", "three"]
|
||||
|
||||
@ -68,7 +67,6 @@ class LabelFactory(factory.DjangoModelFactory):
|
||||
model = models.Label
|
||||
|
||||
name = "test label"
|
||||
description = utils.compressed_str(LABEL_DESCRIPTION)
|
||||
|
||||
|
||||
class PlayFactory(factory.DjangoModelFactory):
|
||||
|
@ -18,7 +18,7 @@
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from ara.api import models, serializers
|
||||
from ara.api.tests import factories, utils
|
||||
from ara.api.tests import factories
|
||||
|
||||
|
||||
class LabelTestCase(APITestCase):
|
||||
@ -33,21 +33,9 @@ class LabelTestCase(APITestCase):
|
||||
label.refresh_from_db()
|
||||
self.assertEqual(label.name, "serializer")
|
||||
|
||||
def test_label_serializer_compress_description(self):
|
||||
serializer = serializers.LabelSerializer(data={"name": "compress", "description": factories.LABEL_DESCRIPTION})
|
||||
serializer.is_valid()
|
||||
label = serializer.save()
|
||||
label.refresh_from_db()
|
||||
self.assertEqual(label.description, utils.compressed_str(factories.LABEL_DESCRIPTION))
|
||||
|
||||
def test_label_serializer_decompress_description(self):
|
||||
label = factories.LabelFactory(description=utils.compressed_str(factories.LABEL_DESCRIPTION))
|
||||
serializer = serializers.LabelSerializer(instance=label)
|
||||
self.assertEqual(serializer.data["description"], factories.LABEL_DESCRIPTION)
|
||||
|
||||
def test_create_label(self):
|
||||
self.assertEqual(0, models.Label.objects.count())
|
||||
request = self.client.post("/api/v1/labels", {"name": "compress", "description": factories.LABEL_DESCRIPTION})
|
||||
request = self.client.post("/api/v1/labels", {"name": "compress"})
|
||||
self.assertEqual(201, request.status_code)
|
||||
self.assertEqual(1, models.Label.objects.count())
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user