#1228 Refactor code style of code creating test data
Merged 5 years ago by mprahl. Opened 5 years ago by cqi.
cqi/fm-orchestrator refactor-fixture-data-code  into  master

file modified
+426 -466
@@ -146,12 +146,25 @@ 

      num_contexts = 2 if contexts else 1

      for index in range(data_size):

          for context in range(num_contexts):

-             build_one = ModuleBuild()

-             build_one.name = 'nginx'

-             build_one.stream = '1'

-             build_one.version = 2 + index

-             build_one.state = BUILD_STATES['ready']

-             build_one.scratch = scratch

+             build_one = ModuleBuild(

+                 name='nginx',

+                 stream='1',

+                 version=2 + index,

+                 state=BUILD_STATES['ready'],

+                 scratch=scratch,

+                 modulemd=read_staged_data('nginx_mmd'),

+                 koji_tag='scrmod-nginx-1.2' if scratch else 'module-nginx-1.2',

+                 scmurl='git://pkgs.domain.local/modules/nginx'

+                        '?#ba95886c7a443b36a9ce31abda1f9bef22f2f8c9',

+                 batch=2,

+                 # https://www.youtube.com/watch?v=iQGwrK_yDEg,

+                 owner='Moe Szyslak',

+                 time_submitted=datetime(2016, 9, 3, 11, 23, 20) + timedelta(minutes=(index * 10)),

+                 time_modified=datetime(2016, 9, 3, 11, 25, 32) + timedelta(minutes=(index * 10)),

+                 time_completed=datetime(2016, 9, 3, 11, 25, 32) + timedelta(minutes=(index * 10)),

+                 rebuild_strategy='changed-and-after',

+             )

+ 

              if contexts:

                  build_one.stream = str(index)

                  unique_hash = hashlib.sha1(("%s:%s:%d:%d" % (
@@ -162,160 +175,133 @@ 

                  build_one.ref_build_context = unique_hash

                  combined_hashes = '{0}:{1}'.format(unique_hash, unique_hash)

                  build_one.context = hashlib.sha1(combined_hashes.encode("utf-8")).hexdigest()[:8]

-             build_one.modulemd = read_staged_data('nginx_mmd')

-             if scratch:

-                 build_one.koji_tag = 'scrmod-nginx-1.2'

-             else:

-                 build_one.koji_tag = 'module-nginx-1.2'

-             build_one.scmurl = ('git://pkgs.domain.local/modules/nginx?'

-                                 '#ba95886c7a443b36a9ce31abda1f9bef22f2f8c9')

-             build_one.batch = 2

-             # https://www.youtube.com/watch?v=iQGwrK_yDEg

-             build_one.owner = 'Moe Szyslak'

-             build_one.time_submitted = \

-                 datetime(2016, 9, 3, 11, 23, 20) + timedelta(minutes=(index * 10))

-             build_one.time_modified = \

-                 datetime(2016, 9, 3, 11, 25, 32) + timedelta(minutes=(index * 10))

-             build_one.time_completed = \

-                 datetime(2016, 9, 3, 11, 25, 32) + timedelta(minutes=(index * 10))

-             build_one.rebuild_strategy = 'changed-and-after'

+ 

              session.add(build_one)

              session.commit()

              build_one_component_release = get_rpm_release(build_one)

  

-             component_one_build_one = ComponentBuild()

-             component_one_build_one.package = 'nginx'

-             component_one_build_one.scmurl = \

-                 ('git://pkgs.domain.local/rpms/nginx?'

-                  '#ga95886c8a443b36a9ce31abda1f9bed22f2f8c3')

-             component_one_build_one.format = 'rpms'

-             component_one_build_one.task_id = 12312345 + index

-             component_one_build_one.state = koji.BUILD_STATES['COMPLETE']

-             component_one_build_one.nvr = 'nginx-1.10.1-2.{0}'.format(build_one_component_release)

-             component_one_build_one.batch = 1

-             component_one_build_one.module_id = 2 + index * 3

-             component_one_build_one.tagged = True

-             component_one_build_one.tagged_in_final = True

- 

-             component_two_build_one = ComponentBuild()

-             component_two_build_one.package = 'module-build-macros'

-             component_two_build_one.scmurl = \

-                 ('/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

-                  'module-build-macros-0.1-1.module_nginx_1_2.src.rpm')

-             component_two_build_one.format = 'rpms'

-             component_two_build_one.task_id = 12312321 + index

-             component_two_build_one.state = koji.BUILD_STATES['COMPLETE']

-             component_two_build_one.nvr = \

-                 'module-build-macros-01-1.{0}'.format(build_one_component_release)

-             component_two_build_one.batch = 2

-             component_two_build_one.module_id = 2 + index * 3

-             component_two_build_one.tagged = True

-             component_two_build_one.tagged_in_final = True

- 

-         build_two = ModuleBuild()

-         build_two.name = 'postgressql'

-         build_two.stream = '1'

-         build_two.version = 2 + index

-         build_two.state = BUILD_STATES['done']

-         build_two.scratch = scratch

-         build_two.modulemd = read_staged_data('testmodule')

-         if scratch:

-             build_two.koji_tag = 'scrmod-postgressql-1.2'

-         else:

-             build_two.koji_tag = 'module-postgressql-1.2'

-         build_two.scmurl = ('git://pkgs.domain.local/modules/postgressql?'

-                             '#aa95886c7a443b36a9ce31abda1f9bef22f2f8c9')

-         build_two.batch = 2

-         build_two.owner = 'some_user'

-         build_two.time_submitted = \

-             datetime(2016, 9, 3, 12, 25, 33) + timedelta(minutes=(index * 10))

-         build_two.time_modified = \

-             datetime(2016, 9, 3, 12, 27, 19) + timedelta(minutes=(index * 10))

-         build_two.time_completed = \

-             datetime(2016, 9, 3, 11, 27, 19) + timedelta(minutes=(index * 10))

-         build_two.rebuild_strategy = 'changed-and-after'

+             component_one_build_one = ComponentBuild(

+                 package='nginx',

+                 scmurl='git://pkgs.domain.local/rpms/nginx?'

+                        '#ga95886c8a443b36a9ce31abda1f9bed22f2f8c3',

+                 format='rpms',

+                 task_id=12312345 + index,

+                 state=koji.BUILD_STATES['COMPLETE'],

+                 nvr='nginx-1.10.1-2.{0}'.format(build_one_component_release),

+                 batch=1,

+                 module_id=2 + index * 3,

+                 tagged=True,

+                 tagged_in_final=True,

+             )

+ 

+             component_two_build_one = ComponentBuild(

+                 package='module-build-macros',

+                 scmurl='/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

+                        'module-build-macros-0.1-1.module_nginx_1_2.src.rpm',

+                 format='rpms',

+                 task_id=12312321 + index,

+                 state=koji.BUILD_STATES['COMPLETE'],

+                 nvr='module-build-macros-01-1.{0}'.format(build_one_component_release),

+                 batch=2,

+                 module_id=2 + index * 3,

+                 tagged=True,

+                 tagged_in_final=True,

+             )

+ 

+         build_two = ModuleBuild(

+             name='postgressql',

+             stream='1',

+             version=2 + index,

+             state=BUILD_STATES['done'],

+             scratch=scratch,

+             modulemd=read_staged_data('testmodule'),

+             koji_tag='scrmod-postgressql-1.2' if scratch else 'module-postgressql-1.2',

+             scmurl='git://pkgs.domain.local/modules/postgressql'

+                    '?#aa95886c7a443b36a9ce31abda1f9bef22f2f8c9',

+             batch=2,

+             owner='some_user',

+             time_submitted=datetime(2016, 9, 3, 12, 25, 33) + timedelta(minutes=(index * 10)),

+             time_modified=datetime(2016, 9, 3, 12, 27, 19) + timedelta(minutes=(index * 10)),

+             time_completed=datetime(2016, 9, 3, 11, 27, 19) + timedelta(minutes=(index * 10)),

+             rebuild_strategy='changed-and-after',

+         )

+ 

          session.add(build_two)

          session.commit()

          build_two_component_release = get_rpm_release(build_two)

  

-         component_one_build_two = ComponentBuild()

-         component_one_build_two.package = 'postgresql'

-         component_one_build_two.scmurl = \

-             ('git://pkgs.domain.local/rpms/postgresql?'

-              '#dc95586c4a443b26a9ce38abda1f9bed22f2f8c3')

-         component_one_build_two.format = 'rpms'

-         component_one_build_two.task_id = 2433433 + index

-         component_one_build_two.state = koji.BUILD_STATES['COMPLETE']

-         component_one_build_two.nvr = 'postgresql-9.5.3-4.{0}'.format(build_two_component_release)

-         component_one_build_two.batch = 2

-         component_one_build_two.module_id = 3 + index * 3

-         component_one_build_two.tagged = True

-         component_one_build_two.tagged_in_final = True

- 

-         component_two_build_two = ComponentBuild()

-         component_two_build_two.package = 'module-build-macros'

-         component_two_build_two.scmurl = \

-             ('/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

-              'module-build-macros-0.1-1.module_postgresql_1_2.src.rpm')

-         component_two_build_two.format = 'rpms'

-         component_two_build_two.task_id = 47383993 + index

-         component_two_build_two.state = koji.BUILD_STATES['COMPLETE']

-         component_two_build_two.nvr = \

-             'module-build-macros-01-1.{0}'.format(build_two_component_release)

-         component_two_build_two.batch = 1

-         component_two_build_two.module_id = 3 + index * 3

-         component_one_build_two.tagged = True

-         component_one_build_two.build_time_only = True

- 

-         build_three = ModuleBuild()

-         build_three.name = 'testmodule'

-         build_three.stream = '4.3.43'

-         build_three.version = 6 + index

-         build_three.state = BUILD_STATES['wait']

-         build_three.scratch = scratch

-         build_three.modulemd = read_staged_data('testmodule')

-         build_three.koji_tag = None

-         build_three.scmurl = ('git://pkgs.domain.local/modules/testmodule?'

-                               '#ca95886c7a443b36a9ce31abda1f9bef22f2f8c9')

-         build_three.batch = 0

-         build_three.owner = 'some_other_user'

-         build_three.time_submitted = \

-             datetime(2016, 9, 3, 12, 28, 33) + timedelta(minutes=(index * 10))

-         build_three.time_modified = \

-             datetime(2016, 9, 3, 12, 28, 40) + timedelta(minutes=(index * 10))

-         build_three.time_completed = None

-         build_three.rebuild_strategy = 'changed-and-after'

+         component_one_build_two = ComponentBuild(

+             package='postgresql',

+             scmurl='git://pkgs.domain.local/rpms/postgresql'

+                    '?#dc95586c4a443b26a9ce38abda1f9bed22f2f8c3',

+             format='rpms',

+             task_id=2433433 + index,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='postgresql-9.5.3-4.{0}'.format(build_two_component_release),

+             batch=2,

+             module_id=3 + index * 3,

+             tagged=True,

+             tagged_in_final=True,

+         )

+ 

+         component_two_build_two = ComponentBuild(

+             package='module-build-macros',

+             scmurl='/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

+                    'module-build-macros-0.1-1.module_postgresql_1_2.src.rpm',

+             format='rpms',

+             task_id=47383993 + index,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='module-build-macros-01-1.{0}'.format(build_two_component_release),

+             batch=1,

+             module_id=3 + index * 3,

+         )

+ 

+         build_three = ModuleBuild(

+             name='testmodule',

+             stream='4.3.43',

+             version=6 + index,

+             state=BUILD_STATES['wait'],

+             scratch=scratch,

+             modulemd=read_staged_data('testmodule'),

+             koji_tag=None,

+             scmurl='git://pkgs.domain.local/modules/testmodule'

+                    '?#ca95886c7a443b36a9ce31abda1f9bef22f2f8c9',

+             batch=0,

+             owner='some_other_user',

+             time_submitted=datetime(2016, 9, 3, 12, 28, 33) + timedelta(minutes=(index * 10)),

+             time_modified=datetime(2016, 9, 3, 12, 28, 40) + timedelta(minutes=(index * 10)),

+             time_completed=None,

+             rebuild_strategy='changed-and-after',

+         )

          session.add(build_three)

          session.commit()

          build_three_component_release = get_rpm_release(build_three)

  

-         component_one_build_three = ComponentBuild()

-         component_one_build_three.package = 'rubygem-rails'

-         component_one_build_three.scmurl = \

-             ('git://pkgs.domain.local/rpms/rubygem-rails?'

-              '#dd55886c4a443b26a9ce38abda1f9bed22f2f8c3')

-         component_one_build_three.format = 'rpms'

-         component_one_build_three.task_id = 2433433 + index

-         component_one_build_three.state = koji.BUILD_STATES['FAILED']

-         component_one_build_three.nvr = \

-             'postgresql-9.5.3-4.{0}'.format(build_three_component_release)

-         component_one_build_three.batch = 2

-         component_one_build_three.module_id = 4 + index * 3

- 

-         component_two_build_three = ComponentBuild()

-         component_two_build_three.package = 'module-build-macros'

-         component_two_build_three.scmurl = \

-             ('/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

-              'module-build-macros-0.1-1.module_testmodule_1_2.src.rpm')

-         component_two_build_three.format = 'rpms'

-         component_two_build_three.task_id = 47383993 + index

-         component_two_build_three.state = koji.BUILD_STATES['COMPLETE']

-         component_two_build_three.nvr = \

-             'module-build-macros-01-1.{0}'.format(build_three_component_release)

-         component_two_build_three.batch = 1

-         component_two_build_three.module_id = 4 + index * 3

-         component_two_build_three.tagged = True

-         component_two_build_three.build_time_only = True

+         component_one_build_three = ComponentBuild(

+             package='rubygem-rails',

+             scmurl='git://pkgs.domain.local/rpms/rubygem-rails'

+                    '?#dd55886c4a443b26a9ce38abda1f9bed22f2f8c3',

+             format='rpms',

+             task_id=2433433 + index,

+             state=koji.BUILD_STATES['FAILED'],

+             nvr='postgresql-9.5.3-4.{0}'.format(build_three_component_release),

+             batch=2,

+             module_id=4 + index * 3,

+         )

+ 

+         component_two_build_three = ComponentBuild(

+             package='module-build-macros',

+             scmurl='/tmp/module_build_service-build-macrosWZUPeK/SRPMS/'

+                    'module-build-macros-0.1-1.module_testmodule_1_2.src.rpm',

+             format='rpms',

+             task_id=47383993 + index,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='module-build-macros-01-1.{0}'.format(build_three_component_release),

+             batch=1,

+             module_id=4 + index * 3,

+             tagged=True,

+             build_time_only=True,

+         )

  

          session.add(component_one_build_one)

          session.add(component_two_build_one)
@@ -340,105 +326,89 @@ 

  

      platform_br = module_build_service.models.ModuleBuild.query.get(1)

  

-     build_one = module_build_service.models.ModuleBuild()

-     build_one.name = 'testmodule'

-     build_one.stream = 'master'

-     build_one.version = 20170109091357

-     build_one.state = BUILD_STATES['build']

-     build_one.scratch = scratch

-     build_one.build_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_one.runtime_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_one.context = '7c29193d'

-     if scratch:

-         build_one.koji_tag = 'scrmod-testmodule-master-20170109091357-7c29193d'

-     else:

-         build_one.koji_tag = 'module-testmodule-master-20170109091357-7c29193d'

-     build_one.scmurl = 'https://src.stg.fedoraproject.org/modules/testmodule.git?#ff1ea79'

-     if tangerine_state:

-         build_one.batch = 3

-     else:

-         build_one.batch = 2

-     # https://www.youtube.com/watch?v=iOKymYVSaJE

-     build_one.owner = 'Buzz Lightyear'

-     build_one.time_submitted = datetime(2017, 2, 15, 16, 8, 18)

-     build_one.time_modified = datetime(2017, 2, 15, 16, 19, 35)

-     build_one.rebuild_strategy = 'changed-and-after'

-     build_one.modulemd = to_text_type(mmd.dumps())

-     build_one_component_release = get_rpm_release(build_one)

-     build_one.buildrequires.append(platform_br)

- 

-     component_one_build_one = module_build_service.models.ComponentBuild()

-     component_one_build_one.package = 'perl-Tangerine'

-     component_one_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-Tangerine'

-          '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf')

-     component_one_build_one.format = 'rpms'

-     component_one_build_one.task_id = 90276227

-     component_one_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_one_build_one.nvr = \

-         'perl-Tangerine-0.23-1.{0}'.format(build_one_component_release)

-     component_one_build_one.batch = 2

-     component_one_build_one.module_id = 2

-     component_one_build_one.ref = '4ceea43add2366d8b8c5a622a2fb563b625b9abf'

-     component_one_build_one.tagged = True

-     component_one_build_one.tagged_in_final = True

- 

-     component_two_build_one = module_build_service.models.ComponentBuild()

-     component_two_build_one.package = 'perl-List-Compare'

-     component_two_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-List-Compare'

-          '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb')

-     component_two_build_one.format = 'rpms'

-     component_two_build_one.task_id = 90276228

-     component_two_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_two_build_one.nvr = \

-         'perl-List-Compare-0.53-5.{0}'.format(build_one_component_release)

-     component_two_build_one.batch = 2

-     component_two_build_one.module_id = 2

-     component_two_build_one.ref = '76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb'

-     component_two_build_one.tagged = True

-     component_two_build_one.tagged_in_final = True

- 

-     component_three_build_one = module_build_service.models.ComponentBuild()

-     component_three_build_one.package = 'tangerine'

-     component_three_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/tangerine'

-          '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c')

-     component_three_build_one.format = 'rpms'

-     component_three_build_one.batch = 3

-     component_three_build_one.module_id = 2

-     component_three_build_one.ref = 'fbed359411a1baa08d4a88e0d12d426fbf8f602c'

-     component_three_build_one.state = tangerine_state

-     if tangerine_state:

-         component_three_build_one.task_id = 90276315

-         component_three_build_one.nvr = \

-             'tangerine-0.22-3.{0}'.format(build_one_component_release)

-     if tangerine_state == koji.BUILD_STATES['COMPLETE']:

-         component_three_build_one.tagged = True

-         component_three_build_one.tagged_in_final = True

- 

-     component_four_build_one = module_build_service.models.ComponentBuild()

-     component_four_build_one.package = 'module-build-macros'

-     component_four_build_one.scmurl = \

-         ('/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

-          'macros-0.1-1.module_testmodule_master_20170109091357.src.rpm')

-     component_four_build_one.format = 'rpms'

-     component_four_build_one.task_id = 90276181

-     component_four_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_four_build_one.nvr = \

-         'module-build-macros-0.1-1.{0}'.format(build_one_component_release)

-     component_four_build_one.batch = 1

-     component_four_build_one.module_id = 2

-     component_four_build_one.tagged = True

-     component_four_build_one.build_time_only = True

+     module_build = module_build_service.models.ModuleBuild(

+         name='testmodule',

+         stream='master',

+         version=20170109091357,

+         state=BUILD_STATES['build'],

+         scratch=scratch,

+         build_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         runtime_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         context='7c29193d',

+         koji_tag='scrmod-testmodule-master-20170109091357-7c29193d'

+                  if scratch else

+                  'module-testmodule-master-20170109091357-7c29193d',

+         scmurl='https://src.stg.fedoraproject.org/modules/testmodule.git?#ff1ea79',

+         batch=3 if tangerine_state else 2,

+         # https://www.youtube.com/watch?v=iOKymYVSaJE

+         owner='Buzz Lightyear',

+         time_submitted=datetime(2017, 2, 15, 16, 8, 18),

+         time_modified=datetime(2017, 2, 15, 16, 19, 35),

+         rebuild_strategy='changed-and-after',

+         modulemd=to_text_type(mmd.dumps()),

+     )

+ 

+     module_build.buildrequires.append(platform_br)

+     build_one_component_release = get_rpm_release(module_build)

+ 

+     module_build.component_builds.extend([

+         module_build_service.models.ComponentBuild(

+             package='perl-Tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/perl-Tangerine'

+                    '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+             format='rpms',

+             task_id=90276227,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='perl-Tangerine-0.23-1.{0}'.format(build_one_component_release),

+             batch=2,

+             ref='4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+             tagged=True,

+             tagged_in_final=True,

+         ),

+         module_build_service.models.ComponentBuild(

+             package='perl-List-Compare',

+             scmurl='https://src.fedoraproject.org/rpms/perl-List-Compare'

+                    '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+             format='rpms',

+             task_id=90276228,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='perl-List-Compare-0.53-5.{0}'.format(build_one_component_release),

+             batch=2,

+             ref='76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+             tagged=True,

+             tagged_in_final=True,

+         ),

+         module_build_service.models.ComponentBuild(

+             package='tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/tangerine'

+                    '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+             format='rpms',

+             batch=3,

+             ref='fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+             state=tangerine_state,

+             task_id=90276315 if tangerine_state else None,

+             nvr='tangerine-0.22-3.{}'.format(build_one_component_release)

+                 if tangerine_state else None,

+             tagged=tangerine_state == koji.BUILD_STATES['COMPLETE'],

+             tagged_in_final=tangerine_state == koji.BUILD_STATES['COMPLETE'],

+         ),

+         module_build_service.models.ComponentBuild(

+             package='module-build-macros',

+             scmurl='/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

+                    'macros-0.1-1.module_testmodule_master_20170109091357.src.rpm',

+             format='rpms',

+             task_id=90276181,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='module-build-macros-0.1-1.{}'.format(build_one_component_release),

+             batch=1,

+             tagged=True,

+             build_time_only=True,

+         ),

+     ])

  

      with make_session(conf) as session:

          session.add(platform_br)

-         session.add(build_one)

-         session.add(component_one_build_one)

-         session.add(component_two_build_one)

-         session.add(component_three_build_one)

-         session.add(component_four_build_one)

+         session.add(module_build)

          session.commit()

  

  
@@ -453,25 +423,28 @@ 

  

      platform_br = module_build_service.models.ModuleBuild.query.get(1)

  

-     build_one = module_build_service.models.ModuleBuild()

-     build_one.name = 'testmodule'

-     build_one.stream = 'master'

-     build_one.version = 20170109091357

-     build_one.state = BUILD_STATES['ready']

-     build_one.ref_build_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_one.runtime_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_one.build_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb1'

-     build_one.context = '78e4a6fd'

-     build_one.koji_tag = 'module-testmodule-master-20170109091357-78e4a6fd'

-     build_one.scmurl = 'https://src.stg.fedoraproject.org/modules/testmodule.git?#ff1ea79'

-     build_one.batch = 3

-     build_one.owner = 'Tom Brady'

-     build_one.time_submitted = datetime(2017, 2, 15, 16, 8, 18)

-     build_one.time_modified = datetime(2017, 2, 15, 16, 19, 35)

-     build_one.time_completed = datetime(2017, 2, 15, 16, 19, 35)

-     build_one.rebuild_strategy = 'changed-and-after'

+     build_one = module_build_service.models.ModuleBuild(

+         name='testmodule',

+         stream='master',

+         version=20170109091357,

+         state=BUILD_STATES['ready'],

+         ref_build_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         runtime_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         build_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb1',

+         context='78e4a6fd',

+         koji_tag='module-testmodule-master-20170109091357-78e4a6fd',

+         scmurl='https://src.stg.fedoraproject.org/modules/testmodule.git?#ff1ea79',

+         batch=3,

+         owner='Tom Brady',

+         time_submitted=datetime(2017, 2, 15, 16, 8, 18),

+         time_modified=datetime(2017, 2, 15, 16, 19, 35),

+         time_completed=datetime(2017, 2, 15, 16, 19, 35),

+         rebuild_strategy='changed-and-after',

+     )

+ 

      build_one_component_release = get_rpm_release(build_one)

-     mmd.set_version(build_one.version)

+ 

+     mmd.set_version(int(build_one.version))

      xmd = glib.from_variant_dict(mmd.get_xmd())

      xmd['mbs']['scmurl'] = build_one.scmurl

      xmd['mbs']['commit'] = 'ff1ea79fc952143efeed1851aa0aa006559239ba'
@@ -479,84 +452,81 @@ 

      build_one.modulemd = to_text_type(mmd.dumps())

      build_one.buildrequires.append(platform_br)

  

-     component_one_build_one = module_build_service.models.ComponentBuild()

-     component_one_build_one.package = 'perl-Tangerine'

-     component_one_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-Tangerine'

-          '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf')

-     component_one_build_one.format = 'rpms'

-     component_one_build_one.task_id = 90276227

-     component_one_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_one_build_one.nvr = \

-         'perl-Tangerine-0.23-1.{0}'.format(build_one_component_release)

-     component_one_build_one.batch = 2

-     component_one_build_one.module_id = 2

-     component_one_build_one.ref = '4ceea43add2366d8b8c5a622a2fb563b625b9abf'

-     component_one_build_one.tagged = True

-     component_one_build_one.tagged_in_final = True

-     component_two_build_one = module_build_service.models.ComponentBuild()

-     component_two_build_one.package = 'perl-List-Compare'

-     component_two_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-List-Compare'

-          '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb')

-     component_two_build_one.format = 'rpms'

-     component_two_build_one.task_id = 90276228

-     component_two_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_two_build_one.nvr = \

-         'perl-List-Compare-0.53-5.{0}'.format(build_one_component_release)

-     component_two_build_one.batch = 2

-     component_two_build_one.module_id = 2

-     component_two_build_one.ref = '76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb'

-     component_two_build_one.tagged = True

-     component_two_build_one.tagged_in_final = True

-     component_three_build_one = module_build_service.models.ComponentBuild()

-     component_three_build_one.package = 'tangerine'

-     component_three_build_one.scmurl = \

-         ('https://src.fedoraproject.org/rpms/tangerine'

-          '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c')

-     component_three_build_one.format = 'rpms'

-     component_three_build_one.task_id = 90276315

-     component_three_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_three_build_one.nvr = \

-         'tangerine-0.22-3.{0}'.format(build_one_component_release)

-     component_three_build_one.batch = 3

-     component_three_build_one.module_id = 2

-     component_three_build_one.ref = 'fbed359411a1baa08d4a88e0d12d426fbf8f602c'

-     component_three_build_one.tagged = True

-     component_three_build_one.tagged_in_final = True

-     component_four_build_one = module_build_service.models.ComponentBuild()

-     component_four_build_one.package = 'module-build-macros'

-     component_four_build_one.scmurl = \

-         ('/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

-          'macros-0.1-1.module_testmodule_master_20170109091357.src.rpm')

-     component_four_build_one.format = 'rpms'

-     component_four_build_one.task_id = 90276181

-     component_four_build_one.state = koji.BUILD_STATES['COMPLETE']

-     component_four_build_one.nvr = \

-         'module-build-macros-0.1-1.{0}'.format(build_one_component_release)

-     component_four_build_one.batch = 1

-     component_four_build_one.module_id = 2

-     component_four_build_one.tagged = True

-     component_four_build_one.build_time_only = True

- 

-     build_two = module_build_service.models.ModuleBuild()

-     build_two.name = 'testmodule'

-     build_two.stream = 'master'

-     build_two.version = 20170219191323

-     build_two.state = BUILD_STATES['build']

-     build_two.ref_build_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_two.runtime_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0'

-     build_two.build_context = 'ac4de1c346dcf09ce77d38cd4e75094ec1c08eb1'

-     build_two.context = 'c40c156c'

-     build_two.koji_tag = 'module-testmodule-master-20170219191323-c40c156c'

-     build_two.scmurl = 'https://src.stg.fedoraproject.org/modules/testmodule.git?#55f4a0a'

-     build_two.batch = 1

-     build_two.owner = 'Tom Brady'

-     build_two.time_submitted = datetime(2017, 2, 19, 16, 8, 18)

-     build_two.time_modified = datetime(2017, 2, 19, 16, 8, 18)

-     build_two.rebuild_strategy = 'changed-and-after'

+     build_one.component_builds.extend([

+         module_build_service.models.ComponentBuild(

+             package='perl-Tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/perl-Tangerine'

+                    '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+             format='rpms',

+             task_id=90276227,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='perl-Tangerine-0.23-1.{0}'.format(build_one_component_release),

+             batch=2,

+             ref='4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+             tagged=True,

+             tagged_in_final=True,

+         ),

+         module_build_service.models.ComponentBuild(

+             package='perl-List-Compare',

+             scmurl='https://src.fedoraproject.org/rpms/perl-List-Compare'

+                    '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+             format='rpms',

+             task_id=90276228,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='perl-List-Compare-0.53-5.{0}'.format(build_one_component_release),

+             batch=2,

+             ref='76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+             tagged=True,

+             tagged_in_final=True,

+         ),

+         module_build_service.models.ComponentBuild(

+             package='tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/tangerine'

+                    '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+             format='rpms',

+             task_id=90276315,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='tangerine-0.22-3.{0}'.format(build_one_component_release),

+             batch=3,

+             ref='fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+             tagged=True,

+             tagged_in_final=True,

+         ),

+         module_build_service.models.ComponentBuild(

+             package='module-build-macros',

+             scmurl='/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

+                    'macros-0.1-1.module_testmodule_master_20170109091357.src.rpm',

+             format='rpms',

+             task_id=90276181,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='module-build-macros-0.1-1.{0}'.format(build_one_component_release),

+             batch=1,

+             tagged=True,

+             build_time_only=True,

+         ),

+     ])

+ 

+     build_two = module_build_service.models.ModuleBuild(

+         name='testmodule',

+         stream='master',

+         version=20170219191323,

+         state=BUILD_STATES['build'],

+         ref_build_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         runtime_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb0',

+         build_context='ac4de1c346dcf09ce77d38cd4e75094ec1c08eb1',

+         context='c40c156c',

+         koji_tag='module-testmodule-master-20170219191323-c40c156c',

+         scmurl='https://src.stg.fedoraproject.org/modules/testmodule.git?#55f4a0a',

+         batch=1,

+         owner='Tom Brady',

+         time_submitted=datetime(2017, 2, 19, 16, 8, 18),

+         time_modified=datetime(2017, 2, 19, 16, 8, 18),

+         rebuild_strategy='changed-and-after',

+     )

+ 

      build_two_component_release = get_rpm_release(build_two)

-     mmd.set_version(build_one.version)

+ 

+     mmd.set_version(int(build_one.version))

      xmd = glib.from_variant_dict(mmd.get_xmd())

      xmd['mbs']['scmurl'] = build_one.scmurl

      xmd['mbs']['commit'] = '55f4a0a2e6cc255c88712a905157ab39315b8fd8'
@@ -564,60 +534,49 @@ 

      build_two.modulemd = to_text_type(mmd.dumps())

      build_two.buildrequires.append(platform_br)

  

-     component_one_build_two = module_build_service.models.ComponentBuild()

-     component_one_build_two.package = 'perl-Tangerine'

-     component_one_build_two.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-Tangerine'

-          '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf')

-     component_one_build_two.format = 'rpms'

-     component_one_build_two.batch = 2

-     component_one_build_two.module_id = 3

-     component_one_build_two.ref = '4ceea43add2366d8b8c5a622a2fb563b625b9abf'

-     component_two_build_two = module_build_service.models.ComponentBuild()

-     component_two_build_two.package = 'perl-List-Compare'

-     component_two_build_two.scmurl = \

-         ('https://src.fedoraproject.org/rpms/perl-List-Compare'

-          '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb')

-     component_two_build_two.format = 'rpms'

-     component_two_build_two.batch = 2

-     component_two_build_two.module_id = 3

-     component_two_build_two.ref = '76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb'

-     component_three_build_two = module_build_service.models.ComponentBuild()

-     component_three_build_two.package = 'tangerine'

-     component_three_build_two.scmurl = \

-         ('https://src.fedoraproject.org/rpms/tangerine'

-          '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c')

-     component_three_build_two.format = 'rpms'

-     component_three_build_two.batch = 3

-     component_three_build_two.module_id = 3

-     component_three_build_two.ref = 'fbed359411a1baa08d4a88e0d12d426fbf8f602c'

-     component_four_build_two = module_build_service.models.ComponentBuild()

-     component_four_build_two.package = 'module-build-macros'

-     component_four_build_two.scmurl = \

-         ('/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

-          'macros-0.1-1.module_testmodule_master_20170219191323.src.rpm')

-     component_four_build_two.format = 'rpms'

-     component_four_build_two.task_id = 90276186

-     component_four_build_two.state = koji.BUILD_STATES['COMPLETE']

-     component_four_build_two.nvr = \

-         'module-build-macros-0.1-1.{0}'.format(build_two_component_release)

-     component_four_build_two.batch = 1

-     component_four_build_two.module_id = 3

-     component_four_build_two.tagged = True

-     component_four_build_two.build_time_only = True

+     build_two.component_builds.extend([

+         module_build_service.models.ComponentBuild(

+             package='perl-Tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/perl-Tangerine'

+                    '?#4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+             format='rpms',

+             batch=2,

+             ref='4ceea43add2366d8b8c5a622a2fb563b625b9abf',

+         ),

+         module_build_service.models.ComponentBuild(

+             package='perl-List-Compare',

+             scmurl='https://src.fedoraproject.org/rpms/perl-List-Compare'

+                    '?#76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+             format='rpms',

+             batch=2,

+             ref='76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb',

+         ),

+         module_build_service.models.ComponentBuild(

+             package='tangerine',

+             scmurl='https://src.fedoraproject.org/rpms/tangerine'

+                    '?#fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+             format='rpms',

+             batch=3,

+             ref='fbed359411a1baa08d4a88e0d12d426fbf8f602c',

+         ),

+         module_build_service.models.ComponentBuild(

+             package='module-build-macros',

+             scmurl='/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-'

+                    'macros-0.1-1.module_testmodule_master_20170219191323.src.rpm',

+             format='rpms',

+             task_id=90276186,

+             state=koji.BUILD_STATES['COMPLETE'],

+             nvr='module-build-macros-0.1-1.{0}'.format(build_two_component_release),

+             batch=1,

+             tagged=True,

+             build_time_only=True,

+         )

+     ])

  

      with make_session(conf) as session:

          session.add(platform_br)

          session.add(build_one)

-         session.add(component_one_build_one)

-         session.add(component_two_build_one)

-         session.add(component_three_build_one)

-         session.add(component_four_build_one)

          session.add(build_two)

-         session.add(component_one_build_two)

-         session.add(component_two_build_two)

-         session.add(component_three_build_two)

-         session.add(component_four_build_two)

          session.commit()

  

  
@@ -633,25 +592,23 @@ 

          mmd = Modulemd.Module().new_from_file(formatted_testmodule_yml_path)

          mmd.upgrade()

  

-         build_one = module_build_service.models.ModuleBuild()

-         build_one.name = mmd.get_name()

-         build_one.stream = mmd.get_stream()

-         build_one.version = mmd.get_version()

-         build_one.build_context = 'e046b867a400a06a3571f3c71142d497895fefbe'

-         build_one.runtime_context = '50dd3eb5dde600d072e45d4120e1548ce66bc94a'

-         build_one.state = BUILD_STATES['ready']

-         build_one.modulemd = to_text_type(mmd.dumps())

-         build_one.koji_tag = 'module-shared-userspace-f26-20170601141014-75f92abb'

-         build_one.scmurl = ('https://src.stg.fedoraproject.org/modules/testmodule.'

-                             'git?#7fea453')

-         build_one.batch = 16

-         build_one.owner = 'Tom Brady'

-         build_one.time_submitted = datetime(2017, 2, 15, 16, 8, 18)

-         build_one.time_modified = datetime(2017, 2, 15, 16, 19, 35)

-         build_one.time_completed = datetime(2017, 2, 15, 16, 19, 35)

-         build_one.rebuild_strategy = 'changed-and-after'

- 

-         session.add(build_one)

+         module_build = module_build_service.models.ModuleBuild(

+             name=mmd.get_name(),

+             stream=mmd.get_stream(),

+             version=mmd.get_version(),

+             build_context='e046b867a400a06a3571f3c71142d497895fefbe',

+             runtime_context='50dd3eb5dde600d072e45d4120e1548ce66bc94a',

+             state=BUILD_STATES['ready'],

+             modulemd=to_text_type(mmd.dumps()),

+             koji_tag='module-shared-userspace-f26-20170601141014-75f92abb',

+             scmurl='https://src.stg.fedoraproject.org/modules/testmodule.git?#7fea453',

+             batch=16,

+             owner='Tom Brady',

+             time_submitted=datetime(2017, 2, 15, 16, 8, 18),

+             time_modified=datetime(2017, 2, 15, 16, 19, 35),

+             time_completed=datetime(2017, 2, 15, 16, 19, 35),

+             rebuild_strategy='changed-and-after',

+         )

  

          components = list(mmd.get_rpm_components().values())

          components.sort(key=lambda x: x.get_buildorder())
@@ -665,18 +622,21 @@ 

  

              pkgref = mmd.get_xmd()['mbs']['rpms'][pkg.get_name()]['ref']

              full_url = pkg.get_repository() + "?#" + pkgref

-             build = module_build_service.models.ComponentBuild(

-                 module_id=2,

-                 package=pkg.get_name(),

-                 format="rpms",

-                 scmurl=full_url,

-                 batch=batch,

-                 ref=pkgref,

-                 state=1,

-                 tagged=True,

-                 tagged_in_final=True

-             )

-             session.add(build)

+ 

+             module_build.component_builds.append(

+                 module_build_service.models.ComponentBuild(

+                     package=pkg.get_name(),

+                     format="rpms",

+                     scmurl=full_url,

+                     batch=batch,

+                     ref=pkgref,

+                     state=1,

+                     tagged=True,

+                     tagged_in_final=True

+                 ))

+ 

+         session.add(module_build)

+         session.commit()

  

          # Create shared-userspace-577, state is WAIT, no component built

          formatted_testmodule_yml_path = os.path.join(
@@ -684,25 +644,23 @@ 

          mmd2 = Modulemd.Module().new_from_file(formatted_testmodule_yml_path)

          mmd2.upgrade()

  

-         build_one = module_build_service.models.ModuleBuild()

-         build_one.name = mmd2.get_name()

-         build_one.stream = mmd2.get_stream()

-         build_one.version = mmd2.get_version()

-         build_one.build_context = 'e046b867a400a06a3571f3c71142d497895fefbe'

-         build_one.runtime_context = '50dd3eb5dde600d072e45d4120e1548ce66bc94a'

-         build_one.state = BUILD_STATES['done']

-         build_one.modulemd = to_text_type(mmd2.dumps())

-         build_one.koji_tag = 'module-shared-userspace-f26-20170605091544-75f92abb'

-         build_one.scmurl = ('https://src.stg.fedoraproject.org/modules/testmodule.'

-                             'git?#7fea453')

-         build_one.batch = 0

-         build_one.owner = 'Tom Brady'

-         build_one.time_submitted = datetime(2017, 2, 15, 16, 8, 18)

-         build_one.time_modified = datetime(2017, 2, 15, 16, 19, 35)

-         build_one.time_completed = datetime(2017, 2, 15, 16, 19, 35)

-         build_one.rebuild_strategy = 'changed-and-after'

- 

-         session.add(build_one)

+         module_build = module_build_service.models.ModuleBuild(

+             name=mmd2.get_name(),

+             stream=mmd2.get_stream(),

+             version=mmd2.get_version(),

+             build_context='e046b867a400a06a3571f3c71142d497895fefbe',

+             runtime_context='50dd3eb5dde600d072e45d4120e1548ce66bc94a',

+             state=BUILD_STATES['done'],

+             modulemd=to_text_type(mmd2.dumps()),

+             koji_tag='module-shared-userspace-f26-20170605091544-75f92abb',

+             scmurl='https://src.stg.fedoraproject.org/modules/testmodule.git?#7fea453',

+             batch=0,

+             owner='Tom Brady',

+             time_submitted=datetime(2017, 2, 15, 16, 8, 18),

+             time_modified=datetime(2017, 2, 15, 16, 19, 35),

+             time_completed=datetime(2017, 2, 15, 16, 19, 35),

+             rebuild_strategy='changed-and-after',

+         )

  

          components2 = list(mmd2.get_rpm_components().values())

          # Store components to database in different order than for 570 to
@@ -719,15 +677,18 @@ 

  

              pkgref = mmd2.get_xmd()['mbs']['rpms'][pkg.get_name()]['ref']

              full_url = pkg.get_repository() + "?#" + pkgref

-             build = module_build_service.models.ComponentBuild(

-                 module_id=3,

-                 package=pkg.get_name(),

-                 format="rpms",

-                 scmurl=full_url,

-                 batch=batch,

-                 ref=pkgref

-             )

-             session.add(build)

+ 

+             module_build.component_builds.append(

+                 module_build_service.models.ComponentBuild(

+                     package=pkg.get_name(),

+                     format="rpms",

+                     scmurl=full_url,

+                     batch=batch,

+                     ref=pkgref

+                 ))

+ 

+         session.add(module_build)

+         session.commit()

  

  

  def make_module(nsvc, requires_list=None, build_requires_list=None, base_module=None,
@@ -811,27 +772,26 @@ 

      if not store_to_db:

          return mmd

  

-     module_build = ModuleBuild()

-     module_build.name = name

-     module_build.stream = stream

-     module_build.stream_version = module_build.get_stream_version(stream)

-     module_build.version = version

-     module_build.context = context

-     module_build.state = BUILD_STATES['ready']

-     module_build.scmurl = 'https://src.stg.fedoraproject.org/modules/unused.git?#ff1ea79'

-     module_build.batch = 1

-     module_build.owner = 'Tom Brady'

-     module_build.time_submitted = datetime(2017, 2, 15, 16, 8, 18)

-     module_build.time_modified = datetime(2017, 2, 15, 16, 19, 35)

-     module_build.rebuild_strategy = 'changed-and-after'

-     module_build.build_context = context

-     module_build.stream_build_context = context

-     module_build.runtime_context = context

-     module_build.modulemd = to_text_type(mmd.dumps())

+     module_build = ModuleBuild(

+         name=name,

+         stream=stream,

+         stream_version=ModuleBuild.get_stream_version(stream),

+         version=version,

+         context=context,

+         state=BUILD_STATES['ready'],

+         scmurl='https://src.stg.fedoraproject.org/modules/unused.git?#ff1ea79',

+         batch=1,

+         owner='Tom Brady',

+         time_submitted=datetime(2017, 2, 15, 16, 8, 18),

+         time_modified=datetime(2017, 2, 15, 16, 19, 35),

+         rebuild_strategy='changed-and-after',

+         build_context=context,

+         runtime_context=context,

+         modulemd=to_text_type(mmd.dumps()),

+         koji_tag=xmd['mbs']['koji_tag'] if 'koji_tag' in xmd['mbs'] else None

+     )

      if base_module:

          module_build.buildrequires.append(base_module)

-     if 'koji_tag' in xmd['mbs']:

-         module_build.koji_tag = xmd['mbs']['koji_tag']

      db.session.add(module_build)

      db.session.commit()

  

This patch proposes another code style to create module builds and associated
component builds. The major purpose to make this refactor is to make it easier
to follow up the lines of code and understand the test data and the
relationship between module builds and component builds.

Signed-off-by: Chenxiong Qi cqi@redhat.com

The tests pass and overall, it looks cleaner.

:thumbsup:

Pull-Request has been merged by mprahl

5 years ago